Scripting .bat#
Un archivo o programa de procesamiento por lotes es un archivo de texto sin formato que contiene uno o más comandos de MS-DOS y que tiene asignado una extensión BAT.
Cuando se escribe el nombre del programa de procesamiento por lotes en la línea de comandos, los comandos se ejecutan como un grupo.
pause: suspende la ejecución de un programa de procesamiento por lotes y muestra un mensaje indicando al usuario que presione cualquier tecla para continuar.
rem permite que se incluyan comentarios
echo [texto] muestra el texto por pantalla @(on/off) para presentar los comandos por pantalla en un script
Ejemplo:
C:\>type hola.bat @echo off rem Esto es un comentario rem @echo on se presentaran los comandos por pantalla echo Hola Mundo pause C:\>hola.bat Hola Mundo Presione una tecla para continuar . . .
for (repite un comando)
FOR %%variable IN (conjunto) DO comando [parametros_del_comando]
Ejemplo:
C:>type for.bat @echo off echo ------------------------------- echo cuenta hasta 10 de 2 en 2 for /L %%j in (1,2,10) do echo hola %%j C:\>for.bat ------------------------------- cuena hasta 10 de 2 en 2 hola 1 hola 3 hola 5 hola 7 hola 9
Ejemplo con el parámetro /R ejecuta el comando recursivamente:
for /R %x in (*) do @echo %x
Visualizamos todas las dll que empiecen por a de C:WindowsSystem32
for /R C:\Windows\System32 %x in (A*.dll) do @echo %xde C:\WINNT
Parámetros de entrada, los valores suministrados al ejecutar el archivo .bat se les llaman argumentos y se denotan %0, %1, …, %9.
shift cambia los valores de los parámetros reemplazables %0 a %9 copiando cada parámetro en el anterior, es decir, el valor de %1 es copiado en %0, el valor de %2 es copiado en %1 y así sucesivamente.
if (condicional)
C:\>type if.bat @echo off set a=%1 set b=%2 echo a = %a% ; b = %b% if %a% equ %b% echo %b% y %b% son iguales if %a% neq %b% echo %b% y %b% son distintos if %a% leq %b% echo %b% es menor o igual que %b% if %a% geq %b% echo %b% es mayor o igual que %b% if %a% lss %b% echo %b% es menor que %b% if %a% gtr %b% echo %b% es mayor que %b% echo ------------------------------------- C:\> if.bat 3 3 a = 3 ; b = 3 3 y 3 son iguales 3 es menor o igual que 3 3 es mayor o igual que 3 ------------------------------------- C:\> if.bat 3 5 a = 3 ; b = 5 5 y 5 son distintos 5 es menor o igual que 5 5 es menor que 5 ------------------------------------- C:\> if.bat 3 1 a = 3 ; b = 1 1 y 1 son distintos 1 es mayor o igual que 1 1 es mayor que 1 -------------------------------------
goto se va a una línea marcada por una etiqueta especificada por el usuario dentro de un programa de procesamiento por lotes.