Script por lotes: entrada / salida
Hay tres "archivos" universales para la entrada del teclado, la impresión de texto en la pantalla y los errores de impresión en la pantalla. El archivo "Standard In", conocido comostdin, contiene la entrada al programa / script. El archivo "Salida estándar", conocido comostdout, se utiliza para escribir la salida y mostrarla en la pantalla. Por último, el archivo "Standard Err", conocido comostderr, contiene cualquier mensaje de error para mostrar en la pantalla.
Cada uno de estos tres archivos estándar, también conocidos como flujos estándar, se hace referencia mediante los números 0, 1 y 2. Stdin es el archivo 0, stdout es el archivo 1 y stderr es el archivo 2.
Redirigir la salida (Stdout y Stderr)
Una práctica común en los archivos por lotes es enviar la salida de un programa a un archivo de registro. El operador> envía, o redirige, stdout o stderr a otro archivo. El siguiente ejemplo muestra cómo se puede hacer esto.
Dir C:\ > list.txt
En el ejemplo anterior, el stdout del comando Dir C: \ se redirige al archivo list.txt.
Si agrega el número 2 al filtro de redirección, redirigirá el stderr al archivo lists.txt.
Dir C:\ 2> list.txt
Incluso se puede combinar el stdout y stderrflujos usando el número de archivo y el prefijo '&'. A continuación se muestra un ejemplo.
DIR C:\ > lists.txt 2>&1
Suprimir la salida del programa
El pseudo archivo NUL se utiliza para descartar cualquier salida de un programa. El siguiente ejemplo muestra que la salida del comando DIR se descarta enviando la salida a NUL.
Dir C:\ > NUL
Stdin
Para trabajar con Stdin, debe utilizar una solución alternativa para lograrlo. Esto se puede hacer redirigiendo el propio stdin del símbolo del sistema, llamado CON.
El siguiente ejemplo muestra cómo puede redirigir la salida a un archivo llamado lists.txt. Después de ejecutar el siguiente comando, el símbolo del sistema tomará toda la entrada ingresada por el usuario hasta que obtenga un carácter EOF. Posteriormente, envía toda la entrada al archivo lists.txt.
TYPE CON > lists.txt