Este consejo se basa en el consejo titulado enlace: / windows-Using_Batch_Files_Part_1 [Using Batch Files, Part 1], por lo que es posible que desee comprobarlo antes de continuar. Específicamente, estamos trabajando con un archivo llamado «C: \ Bat \ Fun.bat», así que muestre una ventana de símbolo del sistema y cambie su directorio predeterminado a C: \ Bat. Inicie el bloc de notas para editar Fun.bat, que actualmente se ve así:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1

El último comando del archivo es el comando DIR. Crea una lista de directorio de la carpeta especificada como el primer parámetro que se pasó al archivo por lotes. Si no desea que la lista se muestre en la pantalla, puede usar el carácter «>» para dirigir la salida a un archivo. Así que modifiquemos Fun.bat para aceptar dos parámetros. La primera será la carpeta cuya lista de directorios desea obtener y la segunda será el archivo donde desea que vaya esta salida. Su archivo por lotes debería verse así:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 > %2

Invoca como antes, excepto que ahora especifica el segundo parámetro en la línea de comando:

C:\Bat> Fun.bat C:\Temp C:\Temp\Dirlist.txt

Ejecute el archivo por lotes y obtendrá un archivo llamado C: \ Temp \ Dirlist.txt que contiene la lista de directorios de todos los archivos en el directorio C: \ Temp.

Digamos que tiene miles de archivos en su directorio C: \ Temp. En lugar de revisar la larga lista, es posible que solo desee saber si un archivo en particular está allí y qué tan grande es. Puede hacer esto «canalizando» la salida del comando DIR a un nuevo comando, FIND.

En general, la mayoría de los comandos que producen datos de salida (como los que produce DIR) se pueden utilizar como entrada para otro comando, todos en la misma línea. Esto se llama «tubería» y el carácter utilizado para esta operación es la barra vertical («|»). El comando que espera entrada, FIND en nuestro caso, aparece a la derecha del carácter de «tubería» (la barra vertical). Así que reemplacemos nuestro comando DIR anterior con uno que canalice su salida a FIND:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 | FIND "Dirlist"

El efecto de este cambio es ejecutar el comando DIR en la carpeta especificada, pero envía su salida al comando FIND, que a su vez busca en esa salida la cadena «Dirlist» y muestra los resultados en la pantalla. Tenga en cuenta que solo pasaremos un parámetro: el nombre de la carpeta en la que realizar el DIR. Si lo olvida y especifica un segundo parámetro, no hay problema. Dado que no hay «% 2» en el archivo por lotes, se ignorarán los parámetros adicionales.

Las últimas cosas que cubriremos en este consejo se refieren al tiempo. Hay un comando llamado «HORA / T» que muestra la hora actual. También hay un comando llamado TIMEOUT que hace que el trabajo por lotes se detenga durante el número de segundos especificado. Por último, hay otro carácter especial que puede utilizar en un archivo por lotes, a saber, el ampersand («&»). Concatena dos (o más) comandos que aparecen en la misma línea. Usemos estos comandos para mostrar la hora actual, esperar cinco segundos y escribir la nueva hora en la pantalla. El archivo por lotes debería verse así:

@ECHO OFF REM This file demonstrates the use of a few command-line statements ECHO Hello. This is my Fun.bat file.

DIR %1 | FIND "Dirlist"

ECHO The current time is & TIME /T TIMEOUT 5 ECHO The new current time is & TIME /T

Eso es un poco más sobre archivos por lotes. Hay mucho más que pueden hacer, pero me gustaría medir cuánto interés hay antes de escribir mucho más sobre ellos. Si lo desea, indique en los comentarios, a continuación, si desea continuar aprendiendo más sobre los archivos por lotes.

Este consejo (13103) se aplica a Windows 7, 8 y 10.