Come reindirizzare stderr a null in cmd.exe


122

Ho un'applicazione che registra molto rumore su stderr e DAVVERO rallenta l'esecuzione dell'applicazione. Vorrei reindirizzare quell'output su null. È possibile con cmd.exe?


23
in questo modo: comando 2> nul
Naytzyrhc

3
Potresti metterlo come risposta. Funziona alla grande!
Ignacio Soler Garcia

2
Vedi anche su superuser: > / dev / null per Windows
hippietrail

Voglio mettere a tacere completamente un comando (stdout e stderr) do@command > nul 2>&1
kofifus

Risposte:


171
Your DOS command 2> nul

Leggere la pagina Utilizzo degli operatori di reindirizzamento dei comandi . Oltre al costrutto "2>" menzionato da Tanuki Software, elenca alcune altre combinazioni utili.


1
Tuttavia, seguire farà quasi l'opposto di ciò che alcuni potrebbero aspettarsi copy foo.txt con >> bar 2>nul. bar conterrà il testo di un file copiato e la console conterrà il contenuto di foo.txt .
Patrick Fromberg

1
@Mawg non credo che lo faccia. Probabilmente è qualcosa di specifico per il tuo scenario di utilizzo. Caso in questione: @for /L %C in (1,1,10) do @type nonexistent 2> nulnon non produce righe vuote dieci.
atzz

2
@PatrickFromberg Questo perché connon è un sinonimo di STDOUT; è uno pseudofile associato alla console effettiva, quindi non è influenzato dal reindirizzamento. Un po 'simile a Linuxish (cat /proc/version > /dev/tty) > bar: il reindirizzamento esterno non influenzerà quello interno.
atzz

1
@SamHabiel Non proprio. La domanda riguarda stderr.
atzz

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.