Co to jest odpowiednik /dev/null
w systemie Windows?
414
Myślę, że chcesz NUL
, przynajmniej w wierszu polecenia lub plikach wsadowych.
Na przykład:
type c:\autoexec.bat > NUL
nie tworzy pliku.
( Wierzę , że to samo jest prawdą, jeśli próbujesz utworzyć plik programowo, ale nie próbowałem tego.)
W PowerShell chcesz $null
:
echo 1 > $null
/dev/random
i/dev/zero
sterowników dla Win32.NUL:
(iCON:
,PRN:
...), Jest to głównie kwestia stylu i wyraźnie pokazuje, żeNUL:
jest to specjalny obiekt, a nie plik o nazwieNUL
. Możliwe jest także, dzięki specjalnemu API, utworzenie pliku o nazwieNUL
(patrz jedna z odpowiedzi). Marzę, że może któregoś dnia, jeśli wszyscy użyją okrężnicy zgodnie z konwencją, będziemy mogli przestać bać się przerażających nazw specjalnych urządzeń :-)Zgodnie z tą wiadomością na liście mailingowej GCC , możesz użyć pliku „nul” zamiast / dev / null:
(Podziękowania dla Danny'ego za ten kod; skopiowano z jego wiadomości).
Możesz również użyć tego specjalnego pliku „nul” poprzez przekierowanie.
źródło
C:\dev
katalog w systemie Windows i użyjesz wielu narzędzi GNU, w końcu uzyskasz w tym katalogu tajemniczy plik o nazwie null.NUL
w systemie Windows wydaje się być wirtualną ścieżką w dowolnym folderze. Podobnie jak..
,.
w każdym systemie.Użyj dowolnego folderu z NUL będzie działać.
Przykład,
mają taki sam efekt jak
/dev/null
w Linuksie.Zostało to przetestowane w systemie Windows 7, 64-bitowym.
źródło
md \\.\c:\nul
Quora.com/… , gohacking.com/how-to-create-con-folder-in-windows , superuser.com/questions/86999/…nul
Jon Skeet ma rację. Oto strona sterownika urządzenia Nul w dokumentacji Windows Embedded (nie mam pojęcia, dlaczego nie ma go gdzie indziej ...).
Oto kolejna:
źródło
NUL
działa również programowo. Np. Następujące:działa zgodnie z oczekiwaniami bez tworzenia pliku. (MSVC ++ 12.0)
źródło
NUL
, a minęło już to 5 lat temu.Jeśli chcesz wykonać w systemie Microsoft Windows odpowiednik dowiązania symbolicznego do
/dev/null
linuksa, otwórz gocmd
i wpisz administrator :Dla plików:
Lub w przypadku katalogów:
Dzięki temu plik / direcotry zawsze będzie miał 0 bajtów i nadal zwróci sukces przy każdej próbie zapisu.
źródło
Musisz użyć do tego start i $ NUL w Windows PowerShell :
Wpisz to polecenie, zakładając, że
mySum
jest to nazwa aplikacji i5
10
są to argumenty wiersza poleceń, które wysyłasz.start
Polecenie rozpoczęcia odłączoną procesu, podobny do efektu&
. Ta/B
opcja uniemożliwia rozpoczęcie otwierania nowego okna terminala, jeśli uruchomiony program jest aplikacją konsolową. iNUL
jest odpowiednikiem systemu Windows/dev/null
. Na2>&1
końcu przekieruje stderr na stdout, do którego wszyscy pójdąNUL
.źródło