Cómo escribir scripts 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 se hace doble clic en un archivo. Los archivos por lotes se remontan a DOS, pero aún funcionan en las versiones modernas de Windows.
Los scripts de PowerShell y Bash pueden ser más potentes, pero los archivos por lotes siguen siendo muy útiles si necesita ejecutar comandos básicos de Windows.
Conceptos básicos del archivo por lotes
Un archivo por lotes es simplemente un archivo de texto guardado con una extensión de archivo.bat. Puede usar el bloc de notas o un editor de texto más avanzado para escribir un Bloc de notas++, pero no utilice 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 OFFECHO hola mundo pausa
A continuación, guarde el archivo haciendo clic en Archivo Guardar. Déle cualquier nombre, pero reemplace la extensión de archivo.txt predeterminada con una extensión.bat.
Por ejemplo, es posible que desee nombrarlohello_world.bat
.
Ahora tiene un archivo por lotes con una extensión de archivo.bat. Haga doble clic para ejecutarlo. Este archivo por lotes en particular desactiva ECHO (que limpia la salida ocultando los comandos para que no se impriman en el indicador, imprimiendo el texto «Hello World» en la pantalla y luego esperando que presione una tecla antes de que finalice.
Si no agregastePAUSE
al archivo, el archivo por lotes simplemente ejecutará su comando y luego se cerrará automáticamente. En este caso, imprimirá «Hello World» en la ventana y luego cerrará inmediatamente la ventana del símbolo del sistema. Puede omitirlo cuando desee ejecutar rápidamente un comando sin ver el resultado. Si está ejecutando varios comandos, puede reemplazarPAUSE
Los comandos se colocan entre ellos.
Escriba archivos por lotes más complejos
La creación de archivos por lotes es fundamentalmente simple. Lo único que necesita cambiar es lo que escribe en el Bloc de notas. Para ejecutar varios comandos, escriba cada comando en su propia línea y el archivo por lotes ejecutará cada comando en orden.
Por ejemplo, supongamos que queremos escribir un archivo por lotes que ejecute varios comandos de diagnóstico de red.podríamos querer correripconfig /all
para ver la información de la red,ping google.com
Compruebe si los servidores de Google están respondiendo ytracert google.com
Ejecute un traceroute a google.com y vea si hay algún problema en el camino.
En su forma más básica, simplemente podemos poner todos estos comandos uno tras otro en un archivo por lotes, así:
ipconfig /allping google.comtracert google.comPAUSA
Cuando ejecutemos este archivo, solo veremos el resultado de cada comando seguido del otro. Pero esa no es necesariamente la forma ideal de escribir archivos por lotes.
Por ejemplo, es posible que desee agregar líneas de comentarios.cualquier cosa que comience con un::
Las líneas son líneas de comentarios y no se ejecutarán. Esto los convierte en una forma útil de explicar lo que sucede en el archivo a cualquier persona a la que le entregues el archivo, o a ti mismo en el futuro, que podría olvidar por qué se colocó allí un determinado comando.
También puede agregar el comando «ECHO OFF» al principio del archivo. Esto generalmente se agrega al comienzo de la mayoría de los archivos por lotes. Al hacer esto, el comando en sí no se imprime en el símbolo del sistema, pero el resultado 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 el comando, por lo que esto limpia la salida.
Así que esto podría ser algo como:
:: Este archivo por lotes busca problemas de conectividad de red. ECHO OFF:: ver los detalles de la conexión de red ipconfig /all:: verificar si Google.comping google.com es accesible:: ejecutar traceroute para verificar la ruta a Google.comtracert google.com suspendido
Hay otras instrucciones para archivos por lotes como este. Por ejemplo, es posible que desee que un script por lotes ejecute el comando anterior y luego descargue el resultado en un archivo de texto que pueda revisar más tarde. Para hacer esto, ustedUse el operador después de cada comando para agregar su salida a un archivo de texto. Como vamos a leer la salida de un archivo de texto de todos modos, podemos omitir el
PAUSE
Ordenar.
:: Este archivo por lotes comprueba si hay problemas de conectividad de red:: y guarda el resultado en un archivo.txt. ECHO OFF:: Ver detalles de la conexión de red ipconfig /all results.txt:: Comprobar si se puede acceder a Google.comping google.com results.txt:: Ejecutar traceroute para comprobar la ruta a Google.comtracert 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 que contiene la salida del comando. Una vez que el archivo por lotes termine de ejecutarse, la ventana del símbolo del sistema se cerrará automáticamente.
El ejemplo que usamos anteriormente se basa en imprimir la 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 necesitas usardel
comando para eliminar un archivo odeltree
Comando para eliminar un directorio. Recuerde, solo está usando los mismos comandos que ejecutó en la ventana del símbolo del sistema.
Básicamente, de eso se trata 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 mucho más complicados que eso. Por ejemplo, puede combinar una declaración «SI» con una » Vamos «comando para verificar el valor de algo y luego saltar a una línea diferente según el resultado. Esto es más como escribir un pequeño programa real que un script 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 de programación por lotes en línea para lograr cosas específicas. Pero ahora, conoce los conceptos básicos de cómo armar uno simple.