Descargar Trucos, consejos y ejemplos del Tutorial de comandos y archivos batch Gratis, Gratis Programas, Descarga Freeware, Full, Noticias

Algunos trucos, consejos, ejemplos para crear, editar y personalizar los archivos batch. Solucionar problemas y conflictos de su uso. Continuación del tutorial de comandos y archivos batch, curiosidades, bromas, anexos.
Después que has leído la página anterior que introduce de forma básica en la creación de los archivos batch, si estas interesado y te atrae el tema, aquí encontrarás información que te ayudará en la edición y creación de estas pequeñas herramientas.
Se trata de agrupar y resumir en esta página algunas de las respuestas a cuestiones sencillas y prácticas que con más frecuencia nos hacen llegar los usuarios

Crear saludos en los archivos batch.

Un poco para impresionar a los ingenuos o personas con pocos conocimientos, o simplemente hacer que se inicien tus aplicaciones de manera afable al hacer tus archivos batch puedes incluir el nombre del usuario en la introducción, saludo o inicio del archivo batch de la siguiente forma:
@echo offecho Bienvenido %username%, deseas continuar?
pause>nul

Como mostrar mensajes en los archivos batch.

En la página anterior se mostraba la forma básica de mostrar mensajes en los archivos batch:
msg * aquí va el texto del mensaje
pero el resultado es un poco seco.
Los scripts hechos en lenguaje VBScript ofrecen mensajes más expresivos, asi que es posible encadenar dos archivos de la siguiente forma.
Crear un archivo batch que escriba un script de forma temporal y a continuacion ejecutarlo, parece difícil pero es algo sencillo. Pruébalo con el siguiente código:
@echo offecho MsgBox “Escribir un script y despues llamarlo.”, 64, “NorfiPC” >%temp%\mensaje.vbs
start %temp%\mensaje.vbs
Como ves tiene un estilo algo diferente con un icono, titulo y hasta con sonido. Solo tienes que insertar el texto que quieres se muestre en el mensaje y en el título que tendrá la ventana en la parte superior.
Los scripts creados de esta forma se almacenarán en la carpeta Temp donde no causarán molestias y serán eliminados al ejecutar cleanmgr.exe.
De la misma forma anterior puedes generar mensajes con iconos y sonidos diferentes utilizando las siguientes líneas:
MsgBox "mensaje con icono de Error",0, "Error"
MsgBox "mensaje con icono de Error",16, "Error"
MsgBox "mensaje con icono de interrogacion",32, "Interrogacion"
MsgBox "mensaje con icono de advertencia",48, "Advertencia"
MsgBox "mensaje con icono de informacion",64, "Información"
MsgBox "mensaje con icono de Aplicacion",4096, "Aplicacion"

Encadenar los archivos batch con scripts.

Al encadenar archivos batch con scripts de la forma anterior, podemos ampliar y enriquecer las posibilidades de realizar acciones diferentes con los batch ya que los scripts tienen más recursos a su disposición. Los ejemplos siguientes aprovechan el método SendKeys, con el cual es posible enviar ordenes al teclado de la misma forma que si lo hiciéramos físicamente, son solo dos ejemplos pero se pueden hacer infinidad de cosas diferentes. El primero envía la combinación Control+Shift+Escape con lo que se inicia el Administrador de tareas. El segundo la tecla F3 con lo que se abre la herramienta Buscar de Windows. Pruébalos.
@echo offecho set WshShell = WScript.CreateObject(“WScript.Shell”) >%temp%\tskm.vbs
echo WshShell.SendKeys “^+{ESC}” >>%temp%\tskm.vbs
start %temp%\tskm.vbs
echo set WshShell = WScript.CreateObject(“WScript.Shell”) >%temp%\buscar.vbs
echo WshShell.SendKeys “{F3}” >>%temp%\buscar.vbs
start %temp%\buscar.vbs

Como cambiar el icono que muestran los archivos batch.

En Windows de forma predeterminada, los archivos batch de extensión .CMD, al igual que los bat de extensión .BAT, muestran el mismo icono de las dos ruedas. Es posible utilizar otro icono, para eso es necesario modificar la clave del registro donde se especifica el valor. La clave del registro que contiene la información sobre los archivos batch es la siguiente:
HKEY_CLASSES_ROOT\cmdfile\DefaultIcon
y el valor, o sea la ruta al icono utilizado de forma predeterminada es:
%SystemRoot%\System32\imageres.dll,-68
Puedes emplear algunos de los iconos que se utilizan para los ejecutables exe solo dando dos clics en el valor predeterminado y pegando una de las siguientes rutas:
%SystemRoot%\System32\imageres.dll,-15
%SystemRoot%\System32\imageres.dll,-87
Es posible modificar la clave indicada usando la línea de comandos, para eso utiliza el siguiente código en un archivo batch o introduciéndolo directamente en la consola, Inicio o Ejecutar.
REG ADD HKEY_CLASSES_ROOT\cmdfile\DefaultIcon /ve /t REG_EXPAND_SZ /d C:\Windows\System32\imageres.dll,-15 /f
Usar la línea de comandos para realizar modificaciones al Registro de Windows es peligroso, cualquier equivocación en un carácter puede ser desastroso, por lo que te aconsejo realizarlas con cautela y solo si posees conocimientos básicos en la edición del Registro.
Después que hagas la modificación indicada es necesario reiniciar la PC o sencillamente reiniciar explorer.exe, para que se hagan efectivos los cambios, si no sabes cómo crea un archivo batch con el siguiente código y ejecútalo:
@ECHO OFF
TASKKILL /F /IM explorer.exe
timeout /nobreak 04
start explorer.exe
También puedes reiniciar el explorador de otra manera, copia el siguiente código, pégalo directamente en el cuadro de Inicio o Ejecutar y oprime Enter:
CMD /C TASKKILL /F /IM explorer.exe & timeout /nobreak 04 & start explorer.exe

Restaurar la asociación de los archivos batch (cmd) y bat (bat).

Windows utiliza las extensiones de archivos para conocer qué tipo de información contienen y por lo tanto con que programas es necesario ejecutarlos, en ocasiones esta asociación se deteriora por diversas causas y entonces los archivos se muestran con un icono de archivo desconocido y al dar dos clics en ellos se abre el cuadro de dialogo donde escoger el programa necesario parar abrirlos.
Para restaurar la asociación de los archivos batch de extensión de archivo cmd, abre una ventana de comandos y pega lo siguiente y oprime Enter:
assoc .cmd
debe devolver lo siguiente: .cmd=cmdfile
si no es asi escribe:
assoc .cmd=cmdfile
Si esto no resuelve la situación utiliza el siguiente archivo REG y agrega la clave que contiene a tu registro.
Clave para restaurar la asociación de archivos CMD
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.CMD]
@=”cmdfile”
[HKEY_CLASSES_ROOT\.CMD\PersistentHandler]
@=”{5e941d80-bf96-11cd-b579-08002b30bfeb}”
[HKEY_CLASSES_ROOT\cmdfile]
@=”Windows Command Script”
“EditFlags”=hex:30,04,00,00
“FriendlyTypeName”=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,36,00,30,00,30,00,33,00,00,00
[HKEY_CLASSES_ROOT\cmdfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\
00,38,00,00,00
[HKEY_CLASSES_ROOT\cmdfile\shell]
[HKEY_CLASSES_ROOT\cmdfile\shell\edit]
[HKEY_CLASSES_ROOT\cmdfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00
[HKEY_CLASSES_ROOT\cmdfile\shell\open]
“EditFlags”=hex:00,00,00,00
[HKEY_CLASSES_ROOT\cmdfile\shell\open\command]
@=”\”%1\” %*”
[HKEY_CLASSES_ROOT\cmdfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00
[HKEY_CLASSES_ROOT\cmdfile\shell\runas]
“HasLUAShield”=”"
[HKEY_CLASSES_ROOT\cmdfile\shell\runas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\
00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\cmdfile\shell\runasuser]
@=”@shell32.dll,-50944″
“Extended”=”"
“SuppressionPolicyEx”=”{F211AA05-D4DF-4370-A2A0-9F19C09756A7}”
[HKEY_CLASSES_ROOT\cmdfile\shell\runasuser\command]
“DelegateExecute”=”{ea72d00e-4960-42fa-ba92-7792a7944c1d}”
[HKEY_CLASSES_ROOT\cmdfile\ShellEx\ContextMenuHandlers]
@=”Compatibility”
[HKEY_CLASSES_ROOT\cmdfile\ShellEx\ContextMenuHandlers\Compatibility]
@=”{1d27f844-3a1f-4410-85ac-14651078412d}”
[HKEY_CLASSES_ROOT\cmdfile\ShellEx\DropHandler]
@=”{86C86720-42A0-1069-A2E8-08002B30309D}”
[HKEY_CLASSES_ROOT\cmdfile\ShellEx\PropertySheetHandlers\PifProps]
@=”{86F19A00-42A0-1069-A2E9-08002B30309D}”
[HKEY_CLASSES_ROOT\cmdfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@=”{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}”
[HKEY_CLASSES_ROOT\cmdfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@=”{1531d583-8375-4d3f-b5fb-d23bbd169f22}”
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.CMD\UserChoice]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.CMD\OpenWithProgids]
“cmdfile”=hex(0):
Para restaurar la asociación de los archivos bat de extensión de archivo bat, abre una ventana de comandos, pega lo siguiente y oprime Enter:
assoc .bat 
debe devolver lo siguiente: .bat=batfile
si no es asi escribe:
assoc .bat=batfile 
Si esto no resuelve la situación utiliza el siguiente archivo REG y agrega la clave que contiene a tu registro.
Clave para restaurar la asociación de archivos BAT
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.BAT]
@=”batfile”
[HKEY_CLASSES_ROOT\.BAT\PersistentHandler]
@=”{5e941d80-bf96-11cd-b579-08002b30bfeb}”
[HKEY_CLASSES_ROOT\batfile]
@=”Windows Batch File”
“EditFlags”=hex:30,04,00,00
“FriendlyTypeName”=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\
00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00
[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\
00,38,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00
[HKEY_CLASSES_ROOT\batfile\shell\open]
“EditFlags”=hex:00,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@=”\”%1\” %*”
[HKEY_CLASSES_ROOT\batfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
00,25,00,31,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\runas]
“HasLUAShield”=”"
[HKEY_CLASSES_ROOT\batfile\shell\runas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\
00,20,00,25,00,2a,00,00,00
[HKEY_CLASSES_ROOT\batfile\shell\runasuser]
@=”@shell32.dll,-50944″
“Extended”=”"
“SuppressionPolicyEx”=”{F211AA05-D4DF-4370-A2A0-9F19C09756A7}”
[HKEY_CLASSES_ROOT\batfile\shell\runasuser\command]
“DelegateExecute”=”{ea72d00e-4960-42fa-ba92-7792a7944c1d}”
[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers]
@=”Compatibility”
[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility]
@=”{1d27f844-3a1f-4410-85ac-14651078412d}”
[HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler]
@=”{86C86720-42A0-1069-A2E8-08002B30309D}”
[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\PifProps]
@=”{86F19A00-42A0-1069-A2E9-08002B30309D}”
[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@=”{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}”
[HKEY_CLASSES_ROOT\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@=”{1531d583-8375-4d3f-b5fb-d23bbd169f22}”
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\OpenWithProgids]
“batfile”=hex(0):

Como convertir los archivos batch en exe (ejecutables).

Al crear tus archivos batch para realizar tus propias tareas los puedes convertir en ejecutables facilmente, esto te brindará en algunos casos ventajas y beneficios adicionales. Algunas son las siguientes:
1- No se podrán modificar con el editor de texto de la misma forma que los batch al dar clic derecho, lo que impedirá que se deterioren de forma accidental.
2- En caso de que para la ejecución del batch utilices archivos auxiliares como imágenes, iconos, archivos de texto etc. podrás agruparlos y encapsularlos todos en un mismo archivo exe (ejecutable) creado.
3- Impedirás que se muestre el código utilizado en su creación (no es mi estilo).
4- Te burlarás de los que siente aversión (injustificada) contra los archivos BAT.
Pueden crearse de dos formas.
a) Utilizando la herramienta que incluye Windows para ese propósito, es fácil de utilizar solo sigue los pasos del asistente. Para iniciarla escribe en el cuadro de Inicio o en Ejecutar: iexpress.exe y oprime Enter.
b) Descarga la siguiente aplicación Bat To Exe Converter en la web de su autor en: http://www.f2ko.de
Las dos aplicaciones incluyen las opciones de añadirle contraseñas al archivo creado para poder ejecutarlo, icono de tu preferencia, comentarios, etc.

Como insertar letras con acentos en los archivos batch.

En los archivos batch para representar letras que llevan acentos, la ñ y otros caracteres especiales propios del idioma español y que se muestren correctamente en la consola de cmd al ejecutarse el batch, se requiere usar el método de los códigos alt.

Consejos, sugerencias y ejemplos para la creación de archivos batch.


Uso de Comodines.

El signo asterisco * remplaza cadenas de caracteres.
Por ejemplo, usando DIR *.txt especificas que se listen todos los archivos en ese directorio con la extensión .txt.
El signo de interrogación ? remplaza pero solo un carácter. Podemos especificar mas signos de interrogación. Con lo que si especificamos dir s???*.* nos listaría los directorios y archivos con un nombre que empiecen por 
s y otras 3 letras cualquiera mas unos carácter cualquiera, a continuación él * que hace que se listen archivos con cualquier extensión.

Ejemplos simples para practicar:

Ejemplos de informacion posibles de obtener y mostrar al usuario utilizando un batch.
Para ejecutarlo, al igual que los siguientes códigos, cópialo, pégalo en un archivo de texto y guárdalo con cualquier nombre pero que tenga la extensión de archivo .cmd.
@echo off
color 07
echo Esto es un ejemplo de archivo por lotes
pause
cls
echo La Fecha y Hora
pause>nul
cls
date /t
time /t
pause>nul
cls
echo Cambiemos el color
pause>nul
color 1E
cls
echo Quien eres tu
pause>nul
cls
echo %username%
pause>nul
echo Tus tareas en ejecucion
pause>nul
tasklist 
pause>nul
cls
echo Informacion de tu sistema
systeminfo
pause>nul
CLS
echo En que directorio estas
pause>nul
cls
echo %CD% 
pause>nul
echo Parece que tienes un virus
pause>nul
@echo off 
echo 
echo. 
echo 
echo.
echo 
echo.
echo 
echo. 
echo 
echo.
echo 
echo.
echo 
echo. 
echo 
echo.
echo 
echo.
echo 
echo. 
echo 
echo.
echo 
echo.
pause>nul
echo Es solo una broma
pause>nul
exit
Sencillo ejemplo del uso interactivo del comando SET.
@echo off 
title Nombre y apellidos 
set/p nombre=Escribe tu nombre y oprime Enter. 
set/p apellido=Escribe tu primer apellido? 
set/p apellido2=Escribe tu segundo apellido? 
echo. 
echo Tu nombre completo es %nombre% %apellido% %apellido2% 
pause >nul 
exit
Ejemplo de un sencillo cálculo matemático, calcular el promedio de dos números.
@echo off 
title Hacer media de dos numeros 
set/p num1=Cual es el primer numero? 
set/p num2=Cual es el segundo numero? 
set/a media= (%num1% + %num2%) / 2 
echo. 
echo La media es %media% 
pause >nul 
exit
Otro ejemplo de calcular el promedio, en este caso entre varios números.
@echo off 
title Hacer media de dos numeros 
:principio 
set/p cant=Entre cuantos numeros quiere hacer la media? 
set/a contador=%cant% 
set total=0 
if %cant% LSS 2 (goto mal) else (goto pregunta) 
:mal 
echo Debe indicar un numero mayor o igual que 2 
goto principio 
:pregunta 
set/p num=Escriba uno de los %cant% numeros 
set/a total=%total%+%num% 
set/a contador=%contador%-1 
if not %contador% == 0 (goto pregunta) 
set/a media= %total% / %cant% 
echo. 
echo La media es %media% 
pause >nul 
exit
Otro ejemplo de una sencilla operación matemática.
@echo off 
title Division de dos numeros 
set/p uno=Escriba el numerador 
:denominador 
set/p dos=Escriba el denominador 
if %dos%==0 (goto nosepuede) else (goto dividir) 
:nosepuede 
echo El denominador no puede ser cero. 
goto denominador 
:dividir 
set/a tres=%uno%/%dos% 
echo El resultado de %uno%/%dos% es %tres% 
pause>nul 
exit
Un bucle de ejemplo, es decir la repetición infinita, en este caso de dos líneas.
@echo off 
title Bucle de ejemplo 
color 0A 
:bucle
echo 1001010010010100100101001010010010100100101001010010010100100101001010010010
echo 0110101101101011011010110101101101011011010110101101101011011010110110101101
goto bucle
exit
..Siempre a favor y en busca del conocimiento...


Articulo original: Descargar Trucos, consejos y ejemplos del Tutorial de comandos y archivos batch Gratis, Gratis Programas, Descarga Freeware, Full, Noticias

Comentarios

Entradas populares de este blog

Dabbleboard, una pizarra para hacer más productivas las reuniones

Community Managers: Una fórmula sencilla de medir el ROI para Pymes

3 plataformas para construir elegantes sitios web sin programar