Una de las formas más útiles de registrar y solucionar el comportamiento de los comandos o trabajos por lotes que se ejecutan ventanas es redirigir la salida a un archivo.
Sin embargo, hay varias formas diferentes de redirigir las entradas de la línea de comandos a un archivo. La opción que elija depende de cómo desee mostrar los resultados de su referencia.

Cómo funciona la visualización del símbolo del sistema de Windows(Cómo funciona la salida del símbolo del sistema de Windows)
Cuando escribes un comando en la consola ventanas ( símbolo del sistema(línea de comando) ), la salida de este comando va a dos flujos separados.
- SALIDA :Estándar Fuera de aquí es donde van las respuestas de comando estándar. Por ejemplo, la respuesta de comando estándar DIRECCIÓN es una lista de archivos en un directorio.
- STDERR : Error estándar(Error estándar) aquí es donde aparecen los mensajes de error si hay un problema con el comando. Por ejemplo, si no hay archivos en el directorio, el comando DIR imprimirá » (DIR)archivo, archivo(expediente) no encontrado ”en flujo Error estándar.(Error estándar)
Puede redirigir la salida a un archivo en ventanas para ambos flujos de salida.
Redirigir la escritura de salida estándar a un nuevo archivo(Redirigir la salida estándar de escritura a un archivo nuevo)
Hay dos formas de redirigir la salida estándar de un comando a un archivo. La primera es escribir la salida del comando en un archivo nuevo cada vez que ejecuta el comando.
Para hacer esto, abra un símbolo del sistema y escriba:
dir test.exe > myoutput.txt
El signo> le dice a la consola que enviar STDOUT(SALIDA) al archivo con el nombre dado.
Después de ejecutar este comando(ejecutar este comando) notará que no hay respuesta en la ventana de comandos excepto por el error de que el archivo no existe.

Esto se debe a que la salida estándar del comando se ha redirigido a un archivo denominado myoutput.txt. El archivo ahora está en el mismo directorio donde se ejecutó el comando. La salida de error estándar todavía se muestra como normal.
Nota(Nota) : tenga cuidado de cambiar el directorio activo(cambiar directorio activo) al símbolo del sistema antes de ejecutar el comando. De esta forma sabrá dónde se almacenan los archivos de salida.
Puede ver la salida estándar que entró en un archivo escribiendo «myoutput.txt» en la ventana de comandos. Esto abrirá el archivo de texto en su navegador de archivos de texto predeterminado. Para la mayoría de las personas, suele ser Notepad.exe.

La próxima vez que ejecute el mismo comando, se eliminará el archivo de salida anterior. El nuevo archivo de salida se volverá a crear con la salida del último comando.
Redirigir registros de salida estándar a (Salida estándar)mismo archivo(Mismo archivo)
¿Qué sucede si no desea sobrescribir el mismo archivo? Otra opción es usar >> en lugar de> para redirigir al archivo de salida. Para este ejemplo, escribirías:
dir test.exe >> myoutput.txt
Verá el mismo resultado (solo error).

Pero en este caso, en lugar de sobrescribir el archivo de salida, este comando agrega la nueva salida al archivo de salida existente.

Cada vez que ejecute el comando y agregue una salida a un archivo, la nueva salida estándar se escribirá al final del archivo existente.
Redirigir el error estándar a un archivo(Redirigir el error estándar a un archivo)
De la misma manera que puede redirigir las escrituras de salida estándar a un archivo, también puede enviar un flujo de error estándar a un archivo.
Para hacer esto, debe agregar 2> al final del comando seguido del archivo de error de salida que desea crear.
En este ejemplo, ingresaría el comando:
dir test.exe > myoutput.txt 2> output.err
Esto envía el flujo de salida estándar a myoutput.txt y el flujo de error estándar a output.err. Como resultado, no se muestra ningún flujo de salida en la ventana de la consola.

Sin embargo, puede ver los mensajes de error escribiendo salida.err . Esto abrirá el archivo en su navegador de archivos de texto predeterminado.

Como puede ver, cualquier mensaje de error del comando se envía al archivo de error. Abajo(Sólo) Al igual que con la salida estándar, puede utilizar >> en su lugar, agregue un error a los errores de los comandos anteriores.
Redirigir toda la salida al mismo archivo(Redirigir toda la salida al mismo archivo)
Todos los enfoques anteriores dan como resultado varios archivos. Un archivo es para el flujo de salida estándar y el otro es para el flujo de error estándar.
Si desea poner ambas salidas en el mismo archivo, puede hacerlo. Para hacer esto, solo necesita redirigir toda la salida al mismo archivo con el siguiente comando.
dir test.exe 1> myoutput.txt 2>&1
Así es como funciona este comando:
- La salida estándar va al archivo de salida identificado por el número de salida 1.
- La salida de error estándar con la etiqueta 2 se redirige al archivo de salida con la etiqueta 1.
Esto agregará la salida de error al final de la salida estándar.

Esta es una forma conveniente de ver todos los resultados de cualquier comando en un archivo.
Silenciar flujos de salida estándar o erróneos(Silenciamiento de flujos de salida estándar o erróneos)
También puede deshabilitar salida estándar(Salida estándar) ambas cosas Error estándar(Error estándar) redirigir la salida a un cero en lugar de a un archivo.
Usando el ejemplo anterior si lo desea salida estándar(Salida estándar) y tampoco Error estándar(Error estándar) puedes usar el siguiente comando:
dir test.exe 1> myoutput.txt 2>nul
Esto producirá el mismo archivo de salida que en el primer ejemplo anterior donde acaba de redirigir salida estándar(Salida estándar) , pero después de este comando, el error no aparecerá en la consola. Tampoco creará un archivo de registro de errores.
Esto es útil si no le importan los errores y no quiere que se conviertan en un dolor.
Puede ejecutar cualquiera de los mismos comandos de salida anteriores desde el archivo BAT(dentro del archivo BAT) y el resultado de esta línea irá al archivo de salida especificado. Esta es una forma práctica de verificar cualquier comando dentro de un archivo MURCIÉLAGO tuvo algún error al intentar arrancar.









