NorfiPC
NorfiPC » Modificar Windows » Trucos archivos batch.

Trucos, consejos y ejemplos para crear archivos batch

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.
Trucos, consejos y ejemplos del Tutorial de comandos y archivos batch
Después de haber leído en una página anterior, el tutorial que introduce al mundo de la creación de los archivos batch, en este artículo podrás encontrar más información relacionada, que te será útil y te ayudará en la edición y creación de estas aplicaciones.
Encontrarás varios trucos para agregarle funcionalidad y personalizarlos a tu manera.
También podrás crear algunos archivos copiando y pegando algunos códigos de ejemplos prácticos.
Espero que te resulte interesante esta página.


Trucos útiles al crear nuestros archivos batch


Como 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 off
echo 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 off
echo 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"


Como 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 off
echo 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
De la misma forma puedes emplear cualquier otro icono solo insertando la ruta necesaria, en la librería imageres.dll se almacenan multitud de iconos en los que escoger.
Si no sabes cómo verlos y extraerlos lee la siguiente página: Información sobre el contenido de las librerías dll en Windows 7
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
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
Más información sobre la asociación de archivos en la siguiente página:
Como reparar y restaurar las asociaciones de archivos en Windows 7.

Como convertir los archivos batch en exe


Después de crear tus propios archivos batch para facilitar las tareas que realizas, si deseas publicarlos o compartirlos con tus amigos, tienes la opción de convertirlos previamente en archivos ejecutables EXE.
De esta forma conseguirás que nadie pueda modificarlos, los batch tienen la característica de que cualquiera puede alterar su código, solo agregando unas líneas con el modesto Bloc de notas.
Convertir un archivo batch o bat exe es algo sencillo, lee en la siguiente página como hacerlo y descarga gratis la aplicación necesaria:
Como convertir los archivos batch y bat en aplicaciones ejecutables EXE

Como insertar letras con acentos y caracteres especiales 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. Lee como hacerlo en la siguiente página: Como usar los caracteres especiales mediante el teclado en Windows.


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


Usar los comodines en archivos batch

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 sencillos de archivos batch para practicar


Archivo batch para mostrar información del usuario y el equipo

Código de ejemplo que muestra cómo obtener información del usuario y mostrarla usando un archivo batch.
Para usarlo, 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.
pause>nul
echo Es solo una broma
pause>nul
exit    

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     

Archivo batch para calcular promedio

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    


Archivo batch para calcular promedio 2

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    

Archivo batch para operaciones matemáticas

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    

Archivo batch para crear un bucle

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    

Páginas relacionadas