Sie sind auf Seite 1von 6

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 introduccin, 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 pgina anterior se mostraba la forma bsica 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 ms 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 difcil pero es algo sencillo. Prubalo con el siguiente cdigo:
@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 ttulo que tendr
la ventana en la parte superior.
Los scripts creados de esta forma se almacenarn en la carpeta Temp donde no causarn
molestias y sern eliminados al ejecutar cleanmgr.exe.
De la misma forma anterior puedes generar mensajes con iconos y sonidos diferentes
utilizando las siguientes lneas:
MsgBox
MsgBox
MsgBox
MsgBox
MsgBox
MsgBox

"mensaje
"mensaje
"mensaje
"mensaje
"mensaje
"mensaje

con
con
con
con
con
con

icono
icono
icono
icono
icono
icono

de
de
de
de
de
de

Error",0, "Error"
Error",16, "Error"
interrogacion",32, "Interrogacion"
advertencia",48, "Advertencia"
informacion",64, "Informacin"
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 ms recursos a su disposicin.
Los ejemplos siguientes aprovechan el mtodo SendKeys, con el cual es posible enviar
ordenes al teclado de la misma forma que si lo hiciramos fsicamente, son solo dos
ejemplos pero se pueden hacer infinidad de cosas diferentes.
El primero enva la combinacin 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. Prubalos.
@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 extensin .CMD, al igual
que los bat de extensin .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 informacin 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 librera imageres.dll se almacenan multitud de iconos en los que
escoger.
2

Si no sabes cmo verlos y extraerlos lee la siguiente pgina:


Informacin sobre el contenido de las libreras dll en Windows 7
Es posible modificar la clave indicada usando la lnea de comandos, para eso utiliza el
siguiente cdigo en un archivo batch o introducindolo 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 lnea de comandos para realizar modificaciones al Registro de Windows es
peligroso, cualquier equivocacin en un carcter puede ser desastroso, por lo que te
aconsejo realizarlas con cautela y solo si posees conocimientos bsicos en la edicin del
Registro.
Despus que hagas la modificacin indicada es necesario reiniciar la PC o sencillamente
reiniciar explorer.exe, para que se hagan efectivos los cambios, si no sabes cmo crea
un archivo batch con el siguiente cdigo y ejectalo:
@ECHO OFF
TASKKILL /F /IM explorer.exe
timeout /nobreak 04
start explorer.exe
Tambin puedes reiniciar el explorador de otra manera, copia el siguiente cdigo,
pgalo 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 asociacin de los archivos batch (cmd) y bat (bat)


Windows utiliza las extensiones de archivos para conocer qu tipo de informacin
contienen y por lo tanto con que programas es necesario ejecutarlos, en ocasiones esta
asociacin 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 asociacin de los archivos batch de extensin 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 situacin descarga el siguiente archivo REG y agrega la clave que
contiene a tu registro.
Descargar clave para restaurar la asociacin de archivos CMD
Para restaurar la asociacin de los archivos bat de extensin 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
3

Si esto no resuelve la situacin descarga el siguiente archivo REG y agrega la clave que
contiene a tu registro.
Descargar clave para restaurar la asociacin de archivos BAT
Ms informacin sobre la asociacin de archivos en la siguiente pgina:
Como reparar y restaurar las asociaciones de archivos en Windows 7.

Como convertir los archivos batch en exe


Despus de crear tus propios archivos batch para facilitar las tareas que realizas, si
deseas publicarlos o compartirlos con tus amigos, tienes la opcin de convertirlos
previamente en archivos ejecutables EXE.
De esta forma conseguirs que nadie pueda modificarlos, los batch tienen la
caracterstica de que cualquiera puede alterar su cdigo, solo agregando unas lneas con
el modesto Bloc de notas.
Convertir un archivo batch o bat exe es algo sencillo, lee en la siguiente pgina como
hacerlo y descarga gratis la aplicacin 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 espaol y que se muestren correctamente en la consola de
cmd al ejecutarse el batch, se requiere usar el mtodo de los cdigos alt. Lee como
hacerlo en la siguiente pgina:
Como usar los caracteres especiales mediante el teclado en Windows.

Consejos, sugerencias y ejemplos para la creacin 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 extensin .txt.
El signo de interrogacin ? remplaza pero solo un carcter. Podemos especificar mas
signos de interrogacin. Con lo que si especificamos dir s???*.* nos listara los
directorios y archivos con un nombre que empiecen por s y otras 3 letras cualquiera
mas unos carcter cualquiera, a continuacin l * que hace que se listen archivos con
cualquier extensin.

Ejemplos sencillos de archivos batch para practicar


Cdigo de ejemplo que muestra cmo obtener informacin del usuario y mostrarla
usando un archivo batch.
Para usarlo, al igual que los siguientes cdigos, cpialo, pgalo en un archivo de texto y
gurdalo con cualquier nombre, pero que tenga la extensin 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

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

Ejemplo de un sencillo clculo matemtico, calcular el promedio de dos nmeros.

@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

Otro ejemplo de calcular el promedio, en este caso entre varios nmeros.


@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

Otro ejemplo de una sencilla operacin matemtica.


@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.

Un bucle de ejemplo, es decir la repeticin infinita, en este caso de dos lneas.


@echo off
title Bucle de ejemplo
color 0A
:bucle
echo 100101001001010010010100101001001010010010100101001001010010010
echo 011010110110101101101011010110110101101101011010110110101101101
goto bucle
exit

Das könnte Ihnen auch gefallen