Archivos por lotes (BAT) – Parte 1

Hola a todos. Muchos usuarios de Windows repiten secuencias de comandos periódicamente, suponiendo una tarea molesta. Los archivos por lotes pretenden automatizar una tarea rutinaria ejecutando una serie de comandos definidas con antelación. Si, sé que hoy en día se pueden utilizar archivos de PowerShell y hasta archivos de Visual Basic (.vb), entre otros… pero los BATs no mueren porque es una forma fácil y práctica de poder automatizar tareas sencillas.

¿Qué es un archivo por lotes?. Básicamente, es un archivo ASCII (de texto) que contiene una serie de comandos. ¡Esto no es programación!, pero sí se acerca un poquito en el sentido que tenemos estructuras de control, saltos incondicionales (propios de los programas secuenciales de antaño), entre otras características. Se manejan archivos más que todo.

Los archivos por lotes tienen las siguientes características:

  • Extensión. Todos deben llevar obligatoriamente la extensión BAT.
  • Contenido. Son archivos de texto ASCII y, por consiguiente, pueden ser creados por Copy o algún editor de texto. Cada línea del archivo debe poseer un comando.
  • Ejecución. Para hacerlo funcionar simplemente debemos teclear su nombre a continuación del símbolo del sistema. El archivo por lotes tomará entonces el control de la computadora.
  • Interrupción. Podemos detener el procesamiento del archivo por lotes en cualquier momento presionando Ctrl+C.
  • Todos los comandos admitidos después del símbolo del sistema pueden introducirse también en un archivo por lotes.

Hay comandos diseñadas específicamente para estos archivos:

También, hay símbolos que se pueden usar:

Uso de algunos comandos

Comando Echo

  • ECHO
    • Indica si está activado o desactivado el eco de los comandos.
  • ECHO ON
    • Activa el eco
  • ECHO OFF
    • Desactiva el eco
  • ECHO mensaje
    • Visualiza un mensaje en pantalla.
  • ECHO.
    • Visualiza una línea en blanco en pantalla.

También, podemos añadir al archivo BAT la línea ECHO OFF para desactivar el eco en lo sucesivo. Para eliminar el eco del propio comando ECHO OFF se antepone el símbolo arroba (@) al nombre del comando (o sea, @echo off)

Veamos un ejemplo:

Con el @echo off, ya no se mostrará el prompt por cada línea de comando del bat; se puede ver el mensaje en pantalla (echo) y también, obviamente, se pueden usar comandos comunes de DOS.

Comando REM

  • Permite introducir comentarios internos en el código de un archivo por lotes.
  • Las líneas precedidas por la palabra REM serán ignoradas durante el funcionamiento del archivo por lotes.
  • Útil para introducir aclaraciones en el código del archivo.
  • Objetivo: facilitar su lectura y corrección de errores.

Comando Pause

  • Detiene temporalmente el desarrollo de un programa.
  • Se visualiza un mensaje en pantalla y espera una tecla para proseguir.
  • También podemos presionar Ctrl+C y así, interrumpir el desarrollo del proceso.
  • Podemos insertar un mensaje indicando el motivo de la detención del programa gracias al comando Echo:

Para no ver el mensaje de Pause, redireccionamos al dispositivo ficticio NULL.

Comando CALL

Se utiliza para llamar a un archivo por lotes desde el interior de otro. Su sintaxis es:

CALL archivo [Parámetros Del Archivo]

En el siguiente ejemplo, el archivo ejemplo1.BAT llama a ejemplo2.bat.

Cuando la ejecución de ejemplo2.BAT termina, continua ejemplo1.BAT en la siguiente línea a CALL

En una próxima entrada de blog, se verán otros comandos; por ejemplo: GOTO, estructura de control IF, comando CHOICE y FOR.

Espero pueda ser de utilidad. ¡Saludos!

Comentarios por Facebook

comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*