35 votes

Comment capturer stderr sous Windows / DOS?

Je veux capturer les erreurs d'un script dans un fichier plutôt qu'à l'écran.

Dans * nix, cela se fait avec la redirection stderr, généralement

 echo "Error" 2> errorfile.log
 

Comment puis-je le faire dans un script CMD sous Windows?

44voto

aphoria Points 8128

Par exemple:

 PSKILL NOTEPAD >output.txt 2>&1
 

Cela dirigera stdout et stderr vers un nom de fichier output.txt.

Voir Fonctionnalités sous - utilisées des fichiers de commandes Windows pour plus de détails.

20voto

unwind Points 181987

Cela devrait fonctionner aussi dans Win32.

Si vous avez déjà redirigé stdout et que vous voulez que stderr soit redirigé vers le même fichier, vous devez utiliser le formulaire spécial 2> &, au lieu de spécifier deux fois le même fichier. Sinon, vous obtiendrez une erreur "fichier occupé".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X