2009-01-27 11 views
34

Quiero capturar los errores de un script en un archivo en lugar de en la pantalla.Cómo capturar stderr en Windows/DOS?

En * nix, esto se hace con la redirección stderr, por lo general

echo "Error" 2> errorfile.log 

¿Cómo lo hago en una secuencia de comandos CMD en Windows?

Respuesta

43

Por ejemplo:

PSKILL NOTEPAD >output.txt 2>&1 

Esto dirigirá stdout y stderr a un nombre de archivo salida.txt.

Consulte Underused features of Windows batch files para obtener más información.

+7

Si desea que se los redireccione a archivos separados, puede hacer 'mycommand> stdout.txt 2> stderr.txt' – Kip

20

Eso debería funcionar en Win32, también.

Si ya ha redirigido stdout y desea redireccionar el stderr al mismo archivo, debe usar el formulario especial 2> &, en lugar de simplemente especificar el mismo archivo dos veces. De lo contrario, obtendrá un error de "archivo ocupado".

+0

Esto también se trata en * [Redirigir stdout y stderr a un solo archivo] (http://stackoverflow.com/questions/1420965) *. –

Cuestiones relacionadas