Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AVANZADO (1)
1997
CAPITULO II
Parmetros reemplazables
Con frecuencia se querr tener un archivo batch que funcione en forma
ligeramente distinta segn las condiciones en que se utilice.
Por ejemplo, los dos archivos siguientes son casi idnticos:
archivo1.bat
archivo2.bat
COPY NOTA1.TXT A:
FC NOTA1.TXT A:\NOTA1.TXT
COPY NOTA2.TXT A:
FC NOTA2.TXT A:\NOTA2.TXT
La nica diferencia es el nombre del archivo usado en los comandos COPY y FC.
Se podra utilizar un mismo archivo batch en ambos casos si indicramos el nombre
del archivo como parmetro.
COPY %1 %2
FC %1 %2\%1
ARCHIVO
NOTA3.TXT
A:
Se ejecutar:
COPY NOTA3.TXT A:
FC NOTA3.TXT A:\NOTA3.TXT
Comando ECHO
Este comando cumple dos funciones:
Por un lado, controla si se despliegan o no en la pantalla los comandos del archivo batch. Se encuentra activado (on) por omisin.
Al desactivarlo (off), no se despliegan los comandos (pero se muestran los resultados producidos por los mismos).
Sintaxis:
ECHO on | off
ON activa el eco, es decir las rdenes ejecutadas se muestran
en la pantalla. OFF desactiva el eco.
El otro uso del comando
Sintaxis:
ECHO mensaje
Mensaje es una lnea de texto que se usa para dar avisos al operador mientras se est ejecutando el archivo batch.
Para que muestre una lnea vaca se usa: ECHO. (sin espacio).
Si no se especifica ningn parmetro,
activado (on) o desactivado (off).
Comando PAUSE
Detiene momentneamente la ejecucin del archivo batch y muestra un
mensaje indicando que se debe pulsar una tecla para continuar.
Sintaxis:
PAUSE
comentario
Comando REM
Permite agregar comentarios al archivo, sin que el DOS los interprete
como rdenes a ejecutar.
Sintaxis:
REM
comentario
< > |
Comando CALL
Llama a un archivo batch desde otro, sin detener la ejecucin del que
hace la llamada.
Sintaxis:
CALL
unidad:\ruta\archivo
parmetros
donde:
archivo: es el nombre del archivo batch que se invoca
parmetros: son los argumentos que se pasan al archivo invocado (includos los parmetros reemplazables %1 a %9)
Se puede crear un archivo batch que se invoque a s mismo (llamada recursiva), pero es necesario incluir una condicin de terminacin.
En este comando no se admiten los signos
< > |
Comando IF
Ejecuta un proceso condicional (permite realizar alguna actividad segn se den o no determinadas condiciones).
Sintaxis:
IF
condicin
comando
Si la condicin se cumple, se ejecuta el comando. En caso contrario, ignora el comando y contina con la siguiente lnea.
Si se incluye la preposicin NOT, el comando se ejecutar slo
si la condicin no se cumple.
Hay tres tipos de condiciones posibles:
Igualdad de dos cadenas de caracteres.
Sintaxis:
IF NOT cadena1 == cadena2 comando
La condicin es verdadera si ambas cadenas son iguales. Pueden
ser cadenas de letras (no necesitan comillas) o variables (por
ej. %1).
Las cadenas no pueden contener coma, punto y coma, espacio o =
Cuando se usan parmetros de reemplazo como cadenas, es conveniente usar comillas, para evitar mensajes de error en caso de
que no tuvieran valor. Ejemplo: IF "%1" == "S" Type %0.bat
Comprobacin de la existencia de un archivo.
Sintaxis:
IF NOT EXIST archivo comando
La condicin es verdadera si el archivo existe.
Nota: Para averiguar la existencia de un directorio se acude
al artificio de usar el dispositivo Nul (existente en todo
directorio). Ej.: IF EXIST C:\DATOS\NUL Copy *.* C:\DATOS
Control de finalizacin del comando anterior.
Sintaxis:
IF NOT ERRORLEVEL nmero comando
La condicin es verdadera si el cdigo de salida del comando
anterior es igual o mayor que el nmero indicado.
Comando GOTO
Permite la ejecucin de comandos dentro del archivo batch en forma no
secuencial: salta a la lnea marcada con un rtulo determinado, y contina la ejecucin en ese punto.
Sintaxis:
GOTO
rtulo
Comando FOR / DO
Ejecuta un comando para cada archivo de una lista de archivos.
Sintaxis:
FOR
%%variable
IN
(lista)
DO
comando
parmetros
donde:
%%variable: es una variable reemplazable, que ir tomando el
nombre de cada archivo de la lista
el nombre de la variable admite cualquier carcter, excepto
los nmeros 0 a 9.
lista: es uno o ms nombres de archivos, separados por espacios; deben ir entre parntesis
admite el uso de comodines
comando: es el comando que ser aplicado a cada archivo de la
lista
parmetros: los que puedan corresponder al comando utilizado
Este comando s admite el uso de los signos
Ejemplo:
< > |
Comando SHIFT
Efecta un corrimiento de los parmetros reemplazables en el archivo
batch.
Sintaxis:
SHIFT
El valor que tiene el parmetro %0 se pierde, el valor de %1 es copiado a %0, el de %2 a %1, y as sucesivamente. El ltimo parmetro queda
libre para colocarle algn valor.
Cada vez que se ejecuta, corre los parmetros una posicin, y siempre
en el mismo sentido. (Una vez ejecutado Shift, no hay manera de recuperar el valor de %0).
Si en la lnea de comandos se especificaron ms de 10 argumentos, mediante Shift se puede hacer que vayan tomando sucesivamente el parmetro %9.