Cómo escribir un script por lotes en Windows

Cómo escribir un script por lotes en Windows

¿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 secuencia de comandos por lotes) es una lista de varios comandos que se ejecutan cuando hace 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 de Bash pueden ser más poderosos, pero los archivos por lotes aún pueden ser muy útiles si necesita ejecutar comandos básicos de Windows.

Conceptos básicos de los 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 utilice un procesador de texto como Microsoft Word.

Creemos un archivo por lotes simple. Primero, abra el Bloc de notas. Escriba las siguientes líneas allí:

ECHO OFF
ECHO Hello World
PAUSE

Luego guarde el archivo haciendo clic en Archivo> Guardar. Déle el nombre que desee, pero cambie la extensión de archivo .txt predeterminada a 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. Ce fichier batch particulier désactive ECHO (qui nettoie la sortie en cachant les commandes d’être imprimées à l’invite, imprime le texte «Hello World» à l’écran, puis attend que vous appuyiez sur une touche avant qu’elle ne se Terminado.

Si no ha agregado PAUSE para archivar, el archivo por lotes simplemente ejecutará sus comandos y luego se cerrará automáticamente. En este caso, imprimiría «Hola mundo» en la ventana y luego cerraría inmediatamente la ventana del símbolo del sistema. Cuando desee ejecutar comandos rápidamente sin ver el resultado, puede omitirlo. Si está ejecutando varios comandos, puede colocar el PAUSE comando entre ellos.

Escribir un archivo por lotes más complejo

Básicamente, es sencillo 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, digamos que queremos escribir un archivo por lotes que ejecute varios comandos de diagnóstico de red. Podríamos querer correr ipconfig /all para mostrar información de la red, ping google.com para ver si los servidores de Google responden, y tracert google.com para ejecutar una ruta de seguimiento a google.com y ver si hay algún problema en el camino.

En la forma más básica, podríamos poner todos estos comandos en un archivo por lotes, uno tras otro, así:

ipconfig /all
ping google.com
tracert google.com
PAUSE

Cuando ejecutamos este archivo, solo veremos la salida de cada comando inmediatamente después del otro. Pero esta no es necesariamente la forma ideal de escribir un archivo por lotes.

Por ejemplo, puede agregar líneas de comentarios. Cualquier línea que comience con un :: es una línea de comentario y no se ejecutará. Esto lo convierte en una forma útil de explicar lo que está sucediendo en el archivo para cualquier persona a la que pueda dárselo, o para su yo futuro, que podría olvidar por qué puso un determinado comando allí.

También puede agregar el comando «ECHO OFF» al comienzo del archivo. Esto generalmente se agrega al comienzo de la mayoría de los archivos por lotes. Cuando haga 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 controles, por lo que pueden limpiar la salida.

Entonces, 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 su secuencia de comandos por lotes ejecute los comandos anteriores y luego descargue la salida en un archivo de texto que puede ver más adelante. Para hacer esto, usaría el >> operador después de cada comando para agregar su salida al archivo de texto. Como de todos modos estaremos leyendo la salida del archivo de texto, podemos omitir el PAUSE pedido.

:: 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 llamado 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 finalizado el archivo por lotes.

El ejemplo que usamos arriba 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, puede tener un archivo por lotes que elimina varios archivos o directorios cada vez que hace doble clic en ellos. Solo necesitaría usar el del comando para eliminar archivos o el deltree comando para eliminar directorios. Recuerde, solo está usando los mismos comandos que ejecutaría en una ventana del símbolo del sistema.

Básicamente, este es el propósito de la mayoría de los archivos por lotes, basta con ejecutar algunos comandos uno tras otro. Sin embargo, los archivos por lotes pueden ser mucho más complejos que eso. Por ejemplo, puede utilizar instrucciones «SI» con el «IR A”Para verificar el valor de algo, luego salte a diferentes filas dependiendo del resultado. Es más como escribir un pequeño programa real que un guión rápido y sucio. Esta es una de las razones por las que los archivos .bat a veces se denominan «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 conoces los conceptos básicos para hacer uno simple.

Deja un comentario

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

Experto Geek - Tu Guía en Tendencias Tecnológicas