¿Sabes cómo usar el símbolo del sistema? Si lo hace, puede escribir un archivo por lotes. En su forma más simple, un archivo por lotes (o script por lotes) es una lista de varios comandos que se ejecutan al hacer doble clic en el archivo. Los archivos por lotes se remontan a DOS, pero aún funcionan en las versiones modernas de Windows.
Los scripts de PowerShell y los scripts Bash pueden ser más potentes, pero los archivos por lotes aún pueden ser muy útiles si necesita ejecutar comandos básicos de Windows.
¿De qué vamos a hablar?
Conceptos básicos de archivos por lotes
Un archivo por lotes es simplemente un archivo de texto guardado con la extensión de archivo .bat. Puede escribir uno usando el Bloc de notas o un editor de texto más avanzado como Bloc de notas++, pero no use un procesador de textos como Microsoft Word.
Vamos a crear un archivo por lotes simple. Primero, abra el Bloc de notas. Escriba las siguientes líneas en él:
ECHO OFF ECHO Hello World PAUSE
A continuación, guarde el archivo haciendo clic en Archivo > Guardar. Dale el nombre que quieras, pero reemplaza la extensión de archivo .txt predeterminada con la extensión .bat.
Por ejemplo, es posible que desee nombrarlo hello_world.bat
.
Ahora tiene un archivo por lotes con la extensión de archivo .bat. Haga doble clic en él para ejecutarlo. Este archivo por lotes en particular activa ECHO (que limpia la salida ocultando los comandos para que no se impriman en el símbolo del sistema, imprime el texto “Hello World” en la pantalla y luego espera a que presione una tecla antes de que finalice.
Si no agregaste PAUSE
para el archivo, el archivo por lotes simplemente ejecutaría sus comandos y luego se cerraría automáticamente. En este caso, imprimiría “Hello World” en la ventana y luego cerraría inmediatamente la ventana del símbolo del sistema. Cuando desee ejecutar comandos rápidamente sin ver la salida, puede omitir esto. Si está ejecutando varios comandos, puede colocar el PAUSE
comando entre ellos.
Escribir un archivo por lotes más complejo
Es fundamentalmente simple crear un archivo por lotes. Lo único que necesita cambiar es lo que escribe en el Bloc de notas. Para ejecutar varios comandos, escriba cada uno en su propia línea y el archivo por lotes ejecutará cada uno en orden.
Por ejemplo, supongamos que queremos escribir un archivo por lotes que ejecute varios comandos de diagnóstico de red. Es posible que queramos correr ipconfig /all
para ver la información de la red, ping google.com
para ver si los servidores de Google están respondiendo, y tracert google.com
para ejecutar una ruta de seguimiento para google.com y ver si hay algún problema en el camino.
En la forma más básica, podríamos simplemente colocar todos esos comandos en un archivo por lotes, uno tras otro, así:
ipconfig /all ping google.com tracert google.com PAUSE
Cuando ejecutamos este archivo, solo veríamos la salida de cada comando justo después del otro. Pero esta no es necesariamente la forma ideal de escribir un archivo por lotes.
Por ejemplo, es posible que desee agregar líneas de comentario. Cualquier línea que comience con un ::
es una línea de comentario y no se ejecutará. Eso los convierte en una forma útil de explicar lo que está sucediendo en el archivo para cualquier persona a la que se lo des, o para tu yo futuro, que podría olvidar por qué pusiste un cierto comando allí.
También es posible que desee agregar el comando “ECHO OFF” al principio del archivo. Normalmente, esto se agrega al inicio de la mayoría de los archivos por lotes. Al hacer esto, los comandos en sí no se imprimirán en el símbolo del sistema, pero los resultados sí. Por ejemplo, verá los detalles de la conexión de red, pero no la línea “ipconfig /all”. A la mayoría de las personas no les importa ver los comandos, por lo que esto puede limpiar la salida.
Así que así es como podría verse:
:: This batch file checks for network connection problems. ECHO OFF :: View network connection details ipconfig /all :: Check if Google.com is reachable ping google.com :: Run a traceroute to check the route to Google.com tracert google.com PAUSE
Hay otras instrucciones que puede seguir con un archivo por lotes como este. Por ejemplo, es posible que desee que el script por lotes ejecute los comandos anteriores y, a continuación, volcar la salida a un archivo de texto que pueda ver más adelante. Para hacerlo, usaría el >>
después de cada comando para anexar su salida al archivo de texto. Como vamos a leer la salida del archivo de texto de todos modos, podemos omitir el PAUSE
mandar.
:: This batch file checks for network connection problems :: and saves the output to a .txt file. ECHO OFF :: View network connection details ipconfig /all >> results.txt :: Check if Google.com is reachable ping google.com >> results.txt :: Run a traceroute to check the route to Google.com tracert google.com >> results.txt
Después de ejecutar el script anterior, encontrará un archivo denominado results.txt en la misma carpeta que el archivo por lotes con la salida de los comandos. La ventana del símbolo del sistema se cerrará automáticamente una vez que el archivo por lotes haya terminado de ejecutarse.
El ejemplo que estamos usando anteriormente se basa en imprimir información en el símbolo del sistema para que el usuario pueda leerla. Sin embargo, muchos archivos por lotes están diseñados para ejecutarse de forma no interactiva. Por ejemplo, podría tener un archivo por lotes que elimine varios archivos o directorios cada vez que haga doble clic en él. Solo necesitaría usar el del
para eliminar archivos o el comando deltree
para eliminar directorios. Recuerde, solo está usando los mismos comandos que ejecutaría en una ventana del símbolo del sistema.
Fundamentalmente, ese es el punto de la mayoría de los archivos por lotes: simplemente ejecutar algunos comandos uno tras otro. Sin embargo, los archivos por lotes en realidad pueden ser significantemente más complejo que esto. Por ejemplo, puede usar instrucciones “IF” junto con “GOTO” para comprobar el valor de algo y luego saltar a diferentes líneas dependiendo del resultado. Esto es más como escribir un programa pequeño real que un script rápido y sucio. Esa es una de las razones por las que los archivos .bat a veces se llaman “programas por lotes”. Si desea hacer algo más complejo, encontrará muchas guías para hacer cosas específicas con la programación por lotes en línea. Pero ahora, ya sabes los conceptos básicos de cómo armar uno simple.