Es tán fácil hacer las conversiones de codificación de texto en cualquier lenguaje de programación (menos en el limitado Batch xD) que me da pereza ponerme a buscarte por internet algún soft ya hecho, y encima de pago.
EDITO: Aunque hay una utilidad commandline (GRATIS) muy buena que se llama "nstringconverter 1.2" de "Guillaume", pero si no recuerdo mal creo que sólo convierte entre ASCII (ANSI), UTF16 y a Base64.
Aquí tienes una mini aplicación que acabo de hacer:
No entiendo la lógica que se te ha pasado por la cabeza para realizar esas comparaciones, porque en ninguno de los casos la cifra podrá ser negativa (-1), el número que obtienes del substring siempre será positivo, así que esas comparaciones ni son necesarias ni se que intentas conseguir con eso reálmente.
EDITO: Si de ese pretendías saber si la variable estaba vacía podrías haber hecho:
Código:
if "!num1!"=="" (Goto..) if "!num2!"=="" (Goto...)
o
Código:
if not defined num1 (goto...) if not defined num2 (goto...)
Normalmente el SO te notifica de que hay programas que necesitan cerrarse antes del apagado.
Se puede activar un parámetro llamado "AutoEndTasks" para modificar (disminuir) el tiempo máximo de espera para cerrar todas las aplicaciones y servicios en el apagado del sistema, así que si ese fuese el problema, esto debería solucionarlo:
' AutoEndTasks: Servicios (de Microsoft) "WaitToKillServiceTimeout"="1000"
Instrucciones: Aplica el script de registro, reinicia 1 vez para que los cambios tnegan efecto, y luego prueba a reiniciar de nuevo de esta manera.
También podría ser que tuvieras problemas con el PageFile (Cuando Windows se cierra hace cambios en el arrchivo PageFile.sys y quien sabe...podrías tenerlo corrupto o podría tardar más de la cuenta por algún motivo quizás si has agrandado apropósito el archivo PageFile.sys unos cuantos GB de más), así que no te vendría mal aplicar también este script, para que en el apagado no se hagan cambios en el archivo del PageFile.sys:
EDITO: Creo que por defecto en una instalación limpia de Windows está desactivada la limpieza de del pagefile, pero por si acaso úsalo. EDITO 2: O diréctamente puedes probar a desactivar el archivo de paginación de la memória virtual.
Hacer eso en Batch es una locura, más que nada si se trata de un Disco duro y estuviese más o menos LLENO, por el consumo de tiempo que tardarían dichas operaciones (Listar + ordenar), no puedes ordenar natívamente por fecha de creación (Sólo de modificación), ni tampoco puedes ordenar números por el método burbuja, así que hay que hacer malabares para ordenar fechas y tamaños, esto es Batch, un "lenguaje" limitado, hay que usarlo por otros medios que consumen más tiempo.
Diréctamente yo te iría recomendando que lo hicieras en cualquier otro lenguaje, pero bueno, aquí tienes para empezar en Batch:
Echo Sort files by... | MORE Echo [1] Path Echo [2] Date Echo [3] FileSize | MORE
Choice /C 123
Set "Sorting=%ERRORLEVEL%"
Echo [+] Listing files... | MORE DIR /B /S /A-D "*" > "%TEMP%\FileList_Unsorted.tmp"
Echo [+] Sorting files... | MORE
:: Path IF "%Sorting%" EQU "1" ( (For /F "Tokens=* usebackq" %%# in ("%TEMP%\FileList_Unsorted.tmp") Do (Echo %%#))>"%TEMP%\FileList_Sorted.tmp" )
:: Date IF "%Sorting%" EQU "2" ( (For /F "Tokens=* usebackq" %%# in ("%TEMP%\FileList_Unsorted.tmp") Do ( SET "Date=%%~t#" SET "Date=!DATE:~6,4!-!DATE:~3,2!-!DATE:~0,2!" Echo !DATE! ^| %%# ))>"%TEMP%\FileList_Sorted.tmp" )
:: Size IF "%Sorting%" EQU "3" ( Set /A "Bubble_MAX=0"
(For /F "Tokens=* usebackq" %%# in ("%TEMP%\FileList_Unsorted.tmp") Do ( Echo %%~z# ^| %%# ECHO %%~z# >"%TEMP%\FileSize.tmp" FOR %%X IN ("%TEMP%\FileSize.tmp") DO (SET /A "Number_Length=%%~zX-3") If !Number_Length! GTR !Bubble_MAX! (Set /A "Bubble_MAX=!Number_Length!") )))>"%TEMP%\FileList_Sorted.tmp"
:: Zero fill (FOR /F "Tokens=1,* usebackq Delims= " %%X in ("%TEMP%\FileList_Sorted.tmp") DO ( Echo %%X >"%TEMP%\FileSize.tmp" FOR %%X IN ("%TEMP%\FileSize.tmp") DO (SET /A "Number_Length=%%~zX-3") IF NOT !Number_Length! EQU !Bubble_MAX! ( Set /A "Zero_Count=!bubble_Max!-!Number_Length!" For /L %%@ in (1,1,!Zero_Count!) do (SET "Zero_Fill=0!Zero_Fill!") SET "Number_Filled=!Zero_Fill!%%X" Echo !Number_Filled! %%Y SET "Zero_Fill=" ) ELSE (Echo %%X %%Y) ))>"%TEMP%\FileList_Bubble_Sorted.tmp" )
ENDLOCAL
:Show_List Echo [+] Showing files... | MORE (Type "%TEMP%\FileList_Bubble_Sorted.tmp" || Type "%TEMP%\FileList_Sorted.tmp") | SORT Pause&Exit
@viperx666 El script de Almapa no te funcionaba porque hay un error en el foro al postear códigos que usan el caracter de exclamación "!" y usar la etiqueta DOS de GeShi, ha sido error mío, ya he modificado de nuevo el formato del código de Almapa, ahora debería funcionar.
Sobre lo de explicarte cada línea... pues sincéramente no lo voy a hacer por una sencilla razón, y es da la sensación de que no quieres aprender y que sólo quieres tener una chuleta preparada, te lo han dado todo hecho, ahora puedes esforzarte un poco en buscar información acerca de cada comando usado en el script...
Bueno, aquí tienes la epxlicación: http://foro.elhacker.net/empty-t384295.0.html (Si hubiera sabido que ese otro usuario buscaba una chuleta para hacer el mismo trabajo no habría explicado nada xD)
tengo una Canon Pixma Ip1800 con sus drivers correctos (siempre he usado el mismo driver) en Windows 7, los cartuchos tienen tinta porque me ha soltado un chorro en la mano xD, pero la impresora no me imprime, bueno, imprime las hojas mal, es decir, quizás empieza a imprimir el color negro pero luego todo el resto de la hoja queda complétamente blanca, sin imprimirse, ni en color ni en blanco y negro.
Los inyectores creo que estan bien, no lo sé, he realizado todos los tests de mantenimiento/limpieza de la impresora con el software pero sigue sin imprimirme nada.
Antes de nada, para quien no lo sepa, esto es un Knob:
Actualmente uso un control Knob de terceros, pero con ninguna opción de customización, y me gustaría poder crear mi propio Knob así podría usar el Skin que yo quisiera (el de la imagen por ejemplo, es un PSD).
Me gustaría usar el Knob que muestro en la imagen, eso sólo es un diseño en Photoshop, pero bueno, al menos eso ya lo tengo, el diseño.
No busco hacer nada profesional, porque no tengo los conocimientos necesarios para heredar un control (Que para empezar, no se me ocurre cual) y customizarlo hasta el punto de hacer un knob, así que yo preferiría tirar al modo cutre usando pictureboxes o algo parecido (un picturebox por cada lucecita y un picturebox central para la rueda, por ejemplo)
El tema de las lucecitas azules y el skin ya lo tengo hecho, pero bien, ¿Como le doy vida a esto?, es decir, ¿Como haría para poder girar la rueda del knob con las mismas características como si se tratase de un TrackBar?, lo que quiero decir es... como le hago para que quedase igual de funcional que este Knob de terceros que estoy usando:
Muy a malas y todavía más cutre pero es una posibilidad, podría seguir utilizando el Knob del video pero reemplazando la imagen de la rueda blanca por la rueda negra del diseño que quiero, pero claro, si pongo una imagen encima del control, pierdo la funcionalidad del control (al pinchar en el picturebox no estoy pinchando en el Knob, así que la rueda no giraría), y no sé como añadir un handle al picturebox encima del control para que pudiese funcionar como quiero... ¿Me entienden?
Con que me digan por donde empezar me sería útil, no sé por donde cojerlo... sólo me imagino que tendré que usar el evento "hoverMouse", pero no sé como hacer para rotar la rueda... como en el Knob del video.