sábado, 16 de abril de 2016

Comandos Batch

Un archivo batch (o bat) es un archivo de procesamiento por lotes: se trata de archivos de texto sin formato, guardados con la extensión *.bat que contienen un conjunto de comandos DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas.

Cualquier comando DOS puede ser utilizado en un archivo batch. Tienes también varios comandos especiales para este tipo de archivos:

CALL

Este comando realiza, desde un archivo batch, una llamada a la ejecución de otro archivo batch. El primer archivo no finaliza su ejecución al realizar la llamada.

CALL [unidad_disco:][path]nombre_archivo [parametros]

Donde [unidad_disco:][path]nombre_archivo es la ruta al archivo batch llamado (debe ser un archivo *.bat) y [parametros] puede ser cualquier tipo de información que necesite el programa llamado que pueda pasarse el línea de comandos.

CHOICE

Ofrece al usuario una entrada de datos para que pueda escoger una opción (escoger una de las letras que se le ofrecen), y espera hasta que esta tenga lugar.

CHOICE [/C[:]letra] [/N] [/S] [/T[:]c,nn] [texto]

Parametros

texto

Puedes especificar un texto que aparecerá antes de la entrada de datos. No hace falta que lo entrecomilles, salvo que dicha cadena de texto incluya una barra /. Es un parámetro opcional.

Modificadores

/C[:]letra

Especifica las letras que indicarán las opciones del usuario. Si las especificas separadas por comas, apareceran entre corchetes seguidas de un interrogante. Si no se especifican, se usara YN (si, no) por defecto.

/N

Evita que se muestre el prompt de usuario

/S

Hace que discrimine entre entrada de letras mayusculas o minusculas.

/T[:]c,nn

Introduce un tiempo de espera antes de ejecutar la acción por defecto. Con los siguientes posibles valores:

c

Señala que carácter será usado como opción por defecto despues de nn segundos. Solo puedes indicar uno de los carácteres especificados con el modificador /C

nn

Indica el numero de segundos de pausa. Valores entre 0 y 99.

ECHO

Activa o desactiva el volcado de texto del programa (output) a la pantalla:

ECHO [ON|OFF] echo [mensaje] Parametros

ON|OFF

Activa o desactiva el volcado de texto. Para conocer el estado actual, usar ECHO sin parámetros.

Mensaje

El texto a mostrar.

FOR

Ejecuta un comando sobre un grupo de archivos. Puede utilizarse en la línea de comandos o en un archivo bat:

a) en archivos BAT:

FOR %%variable IN (set) DO command [command-parameters]

b) en línea de comandos:

FOR %variable IN (set) DO command [command-parameters]

Parametros

%%variable %variable

Representa una variable que será reemplazada por su valor. FOR reemplazará %%variable o %variable con la cadena de carácteres especificados en SET hasta que el comando especificado se haya ejecutado sobre todos los archivos. %%variable se emplea con FOR dentro de archivos batch, y %variable desde la linea de comandos.

(set)

especifica uno o mas archivos de texto (o cadenas) que se procesaran con el comando. Necesita paréntesis.

command

El comando que debe ejecutarse sobre cada archivo especificado en SET

parámetros de comando

Podemos emplear el comando con cualquiera de sus parámetros habituales.

GOTO

Salta la ejecución del programa hacia la linea indicada:

GOTO label

Donde :Label (advierte los dos puntos) es una etiqueta que identifica la linea. 8 caracteres máximo.

IF

Permite la ejecución condicional.

sintaxis:

IF [NOT] ERRORLEVEL numero comando

IF [NOT] string1==string2 comando

IF [NOT] EXIST nombre_archivo comando

Parámetros:

NOT

El comando sujeto a condicion se ejecuta solo si esta es falsa.

ERRORLEVEL numero

La condición es verdadera solo si el comando anterior devuelve un código de salida igual o mayor que el especificado

command

Especifica el comando a ejecutar si la condición se cumple

string1==string2

La condición se cumple solo si cadena1 es igual a cadena2. Cadena1 y cadena2 pueden ser cadenas de texto o variables.

EXIST nombre_archivo

La condición se cumple si existe nombre_archivo.

PAUSE

Suspende la ejecución de comandos y presenta un mensaje para que el usuario presione una tecla para continuar

REM

Línea de comentario. Podemos usar REM O ::

SHIFT

Alterna la posición de los parámetros en el archivo bat.

Variables

El signo % seguido de un numero (del 1 al 9) permite pasar parámetros al invocar nuestro archivo bat. Por ejemplo si tenemos un archivo saludo.bat con la linea echo Hola %1, si lo invocamos tecleando archivo.bat pepe presentará en pantalla Hola Pepe. Se usa por ejemplo para pasar nombres de ficheros a un bat que se encarga de borrarlos, moverlos, etc.

No hay comentarios.: