Antworten:
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
NUL:(und CON:, PRN:...). Es ist meistens eine Frage des Stils und zeigt deutlich, dass NUL:es sich um ein spezielles Objekt und nicht um eine aufgerufene Datei handelt NUL. Mit einer speziellen API ist es auch möglich, eine aufgerufene Datei zu erstellen NUL(siehe eine der Antworten). Ich träume davon, dass wir vielleicht eines Tages, wenn jeder den Doppelpunkt
Entsprechend dieser Nachricht in der GCC-Mailingliste können Sie die Datei "nul" anstelle von / dev / null verwenden:
#include <stdio.h>
int main ()
{
FILE* outfile = fopen ("/dev/null", "w");
if (outfile == NULL)
{
fputs ("could not open '/dev/null'", stderr);
}
outfile = fopen ("nul", "w");
if (outfile == NULL)
{
fputs ("could not open 'nul'", stderr);
}
return 0;
}
(Dank an Danny für diesen Code; kopiert aus seiner Nachricht.)
Sie können diese spezielle "nul" -Datei auch durch Umleitung verwenden.
C:\devVerzeichnis in Windows erstellen und viele GNU-Dienstprogramme verwenden, schließlich eine mysteriöse Datei mit dem Namen null in diesem Verzeichnis erhalten.
NULin 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,
echo 1 > nul
echo 1 > c:\nul
echo 1 > c:\users\nul
echo 1 > c:\windows\nul
haben den gleichen Effekt wie /dev/nullunter Linux.
Dies wurde unter Windows 7, 64 Bit getestet.
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:
NULfunktioniert auch programmgesteuert. ZB folgendes:
freopen("NUL", "w", stderr);
funktioniert wie erwartet, ohne eine Datei zu erstellen. (MSVC ++ 12.0)
NUL, und es war vor 5 Jahren vorbei.
Wenn Sie in Microsoft Windows das Äquivalent eines Symlinks zu /dev/nullLinux ausführen müssen, öffnen Sie und Administrator cmdund geben Sie Folgendes ein:
Für Dateien:
mklink c:\path\to\file.ext NUL:
Oder für Verzeichnisse:
mklink /D c:\path\to\dir NUL:
Dadurch bleibt die Datei / das Verzeichnis immer auf 0 Byte und der Erfolg wird bei jedem Schreibversuch zurückgegeben.
In Windows PowerShell müssen Sie dafür start und $ NUL verwenden :
Geben Sie diesen Befehl ein, vorausgesetzt, es mySumhandelt sich um den Namen Ihrer Anwendung und 5 10um Befehlszeilenargumente, die Sie senden.
start .\mySum 5 10 > $NUL 2>&1
Der startBefehl startet einen getrennten Prozess, ähnlich wie bei &. Die /BOption verhindert, dass der Start ein neues Terminalfenster öffnet, wenn das von Ihnen ausgeführte Programm eine Konsolenanwendung ist. und NULentspricht Windows /dev/null. Am 2>&1Ende wird stderr zu stdout umgeleitet, zu dem alle gehen NUL.