J'ai une application qui enregistre beaucoup de bruit sur stderr et ralentit VRAIMENT l'exécution de l'application. Je voudrais rediriger cette sortie vers null. Est-ce possible avec cmd.exe?
Cependant, la suite fera presque le contraire de ce à quoi certains peuvent s'attendre copy foo.txt con >> bar 2>nul. bar contiendra le texte d' un fichier (s) copié (s) et la console contiendra le contenu de foo.txt .
Patrick Fromberg
1
@Mawg Je ne pense pas que ce soit le cas. C'est probablement quelque chose de spécifique à votre scénario d'utilisation. Exemple concret: @for /L %C in (1,1,10) do @type nonexistent 2> nulne produit pas dix lignes vierges.
atzz
2
@PatrickFromberg C'est parce que ce conn'est pas un synonyme de STDOUT; c'est un pseudofile associé à la console réelle, donc il n'est pas affecté par la redirection. Un peu semblable à Linuxish (cat /proc/version > /dev/tty) > bar: la redirection externe n'affectera pas la redirection interne.
atzz
1
@SamHabiel Pas vraiment. La question porte sur stderr.
@command > nul 2>&1
Réponses:
Lire la page Utilisation des opérateurs de redirection de commandes . Outre la construction "2>" mentionnée par Tanuki Software, elle répertorie d'autres combinaisons utiles.
la source
copy foo.txt con >> bar 2>nul
. bar contiendra le texte d' un fichier (s) copié (s) et la console contiendra le contenu de foo.txt .@for /L %C in (1,1,10) do @type nonexistent 2> nul
ne produit pas dix lignes vierges.con
n'est pas un synonyme de STDOUT; c'est un pseudofile associé à la console réelle, donc il n'est pas affecté par la redirection. Un peu semblable à Linuxish(cat /proc/version > /dev/tty) > bar
: la redirection externe n'affectera pas la redirection interne.stderr
.