Was entspricht /dev/null
Windows?
413
Ich denke, Sie möchten NUL
, zumindest innerhalb einer Eingabeaufforderung oder Batch-Dateien.
Zum Beispiel:
type c:\autoexec.bat > NUL
erstellt keine Datei.
(Ich glaube, dasselbe gilt, wenn Sie versuchen, eine Datei programmgesteuert zu erstellen, aber ich habe es nicht versucht.)
In PowerShell möchten Sie $null
:
echo 1 > $null
/dev/random
und/dev/zero
Gerätetreiber für Win32.NUL:
(undCON:
,PRN:
...). Es ist meistens eine Frage des Stils und zeigt deutlich, dassNUL:
es sich um ein spezielles Objekt und nicht um eine aufgerufene Datei handeltNUL
. Mit einer speziellen API ist es auch möglich, eine aufgerufene Datei zu erstellenNUL
(siehe eine der Antworten). Ich träume davon, dass wir vielleicht eines Tages, wenn jeder den DoppelpunktEntsprechend dieser Nachricht in der GCC-Mailingliste können Sie die Datei "nul" anstelle von / dev / null verwenden:
(Dank an Danny für diesen Code; kopiert aus seiner Nachricht.)
Sie können diese spezielle "nul" -Datei auch durch Umleitung verwenden.
quelle
C:\dev
Verzeichnis in Windows erstellen und viele GNU-Dienstprogramme verwenden, schließlich eine mysteriöse Datei mit dem Namen null in diesem Verzeichnis erhalten.NUL
in Windows scheint tatsächlich ein virtueller Pfad in einem beliebigen Ordner zu sein. Genau wie..
,.
in jedem Dateisystem.Verwenden Sie einen beliebigen Ordner, dem NUL folgt.
Beispiel,
haben den gleichen Effekt wie
/dev/null
unter Linux.Dies wurde unter Windows 7, 64 Bit getestet.
quelle
md \\.\c:\nul
quora.com/... , gohacking.com/how-to-create-con-folder-in-windows , superuser.com/questions/86999/...nul
Jon Skeet ist richtig. Hier ist die Nul-Gerätetreiberseite in der Windows Embedded-Dokumentation (ich habe keine Ahnung, warum es nicht woanders ist ...).
Hier ist noch einer:
quelle
NUL
funktioniert auch programmgesteuert. ZB folgendes:funktioniert wie erwartet, ohne eine Datei zu erstellen. (MSVC ++ 12.0)
quelle
NUL
, und es war vor 5 Jahren vorbei.Wenn Sie in Microsoft Windows das Äquivalent eines Symlinks zu
/dev/null
Linux ausführen müssen, öffnen Sie und Administratorcmd
und geben Sie Folgendes ein:Für Dateien:
Oder für Verzeichnisse:
Dadurch bleibt die Datei / das Verzeichnis immer auf 0 Byte und der Erfolg wird bei jedem Schreibversuch zurückgegeben.
quelle
In Windows PowerShell müssen Sie dafür start und $ NUL verwenden :
Geben Sie diesen Befehl ein, vorausgesetzt, es
mySum
handelt sich um den Namen Ihrer Anwendung und5
10
um Befehlszeilenargumente, die Sie senden.Der
start
Befehl startet einen getrennten Prozess, ähnlich wie bei&
. Die/B
Option verhindert, dass der Start ein neues Terminalfenster öffnet, wenn das von Ihnen ausgeführte Programm eine Konsolenanwendung ist. undNUL
entspricht Windows/dev/null
. Am2>&1
Ende wird stderr zu stdout umgeleitet, zu dem alle gehenNUL
.quelle