Eu tenho um aplicativo que registra muito ruído no stderr e REALMENTE atrasa a execução do aplicativo. Eu gostaria de redirecionar essa saída para null. Isso é possível com o cmd.exe?
No entanto, o seguinte fará quase o oposto do que alguns podem esperar copy foo.txt con >> bar 2>nul. bar conterá o texto de um arquivo copiado e o console conterá o conteúdo de foo.txt .
Patrick Fromberg
1
@ Makg Eu não acho que sim. Provavelmente é algo específico para o seu cenário de uso. Caso em questão: @for /L %C in (1,1,10) do @type nonexistent 2> nulse não produzir linhas em branco dez.
atzz
2
@PatrickFromberg Isso ocorre porque connão é sinônimo de STDOUT; é um pseudofile associado ao console real, portanto não é afetado pelo redirecionamento. Um pouco semelhante ao Linuxish (cat /proc/version > /dev/tty) > bar: o redirecionamento externo não afetará o interno.
atzz
1
@ SamHabiel Na verdade não. A questão é sobre stderr.
@command > nul 2>&1
Respostas:
Ler página Usando operadores de redirecionamento de comando . Além da construção "2>" mencionada pela Tanuki Software, ela lista algumas outras combinações úteis.
fonte
copy foo.txt con >> bar 2>nul
. bar conterá o texto de um arquivo copiado e o console conterá o conteúdo de foo.txt .@for /L %C in (1,1,10) do @type nonexistent 2> nul
se não produzir linhas em branco dez.con
não é sinônimo de STDOUT; é um pseudofile associado ao console real, portanto não é afetado pelo redirecionamento. Um pouco semelhante ao Linuxish(cat /proc/version > /dev/tty) > bar
: o redirecionamento externo não afetará o interno.stderr
.