Mam uruchomione polecenie, które generuje mnóstwo danych wyjściowych, chcę wyciszyć dane wyjściowe bez zapisywania do pliku. Użyłem następujących do wysłania wszystkich danych wyjściowych do pliku, ale ponownie nie chcę żadnych danych wyjściowych pliku:
command > out.txt 2>&1
Użyłem command > /dev/null
na moje pole CentOS wcześniej, ale nie mogę znaleźć coś podobnego dla Windows.
windows
windows-7
windows-command-prompt
stdout
Wąwóz Alec
źródło
źródło
command > /dev/null
używałeś swojego CentOS.command > /bin/null
z CentOS, utworzyłeś wspólny plik o nazwie/bin/null
o nazwie w systemie. Możesz powiedzieć „Udało się!” , Jeśli chcesz. Ten plik zawiera teraz dane wyjściowe stdout i stderrcommand
. Zwykle/bin/
są tam tylko pliki wykonywalne. I zwykle tylko użytkownik root może tworzyć tam pliki. Więc jeśli ten plik istnieje, uruchomiłeś polecenie jako użytkownik root .../bin/null
zwykle nie istnieje - i/dev/null
(o czym wspomniałem) zwykle jest używany jako „czarna całość”, w której niechciane dane wyjściowe powinny zniknąć w…Odpowiedzi:
Chcesz
command > nul 2>&1
.źródło
> nul 2>&1
lub2> nul
zabić stderr.nul
jest specjalnym słowem kluczowym systemu Windows dla wyjścia zerowego (tj. Wyjście odrzucania ). W systemach opartych na * nix (takich jak Ranvir), zamiast tego używają specjalnego pliku/dev/null
. Te>
środki „przekierowanie” (i2>
oznacza przekierowanie Buffer 2 - co jest wyjście błędu)Chcesz
command > null 2>&1
nul
działa tylko w wierszu polecenia, podczas gdynull
działa w PowerShellW celu zapewnienia zgodności można użyć wartości NULL i cmd.exe, ale tworzy on plik o nazwie null.
źródło