Risposte:
Penso che tu voglia NUL, almeno all'interno di un prompt dei comandi o file batch.
Per esempio:
type c:\autoexec.bat > NUL
non crea un file.
(Credo che lo stesso sia vero se provi a creare un file a livello di codice, ma non l'ho provato.)
In PowerShell, vuoi $null:
echo 1 > $null
NUL:(e CON:, PRN:...), è in gran parte una questione di stile e mostra chiaramente che NUL:è un oggetto speciale e non un file chiamato NUL. Inoltre, è possibile con un'API speciale creare un file chiamato NUL(vedere una delle risposte). Sogno che forse un giorno, se tutti usano i due punti per convenzione, saremo in grado di deprecare i nomi dei dispositivi speciali temuti :-)
Secondo questo messaggio sulla mailing list di GCC , puoi usare il file "nul" invece di / dev / null:
#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;
}
(Crediti a Danny per questo codice; copia-incolla dal suo messaggio.)
Puoi anche usare questo speciale file "nul" attraverso il reindirizzamento.
C:\devdirectory in Windows e usi molte utility GNU, alla fine acquisirai un file misterioso chiamato null in quella directory.
NULin Windows sembra essere in realtà un percorso virtuale in qualsiasi cartella. Proprio come .., .in qualsiasi file system.
Utilizzare qualsiasi cartella seguita da NUL funzionerà.
Esempio,
echo 1 > nul
echo 1 > c:\nul
echo 1 > c:\users\nul
echo 1 > c:\windows\nul
avere lo stesso effetto di /dev/null su Linux.
Questo è stato testato su Windows 7, 64 bit.
md \\.\c:\nul quora.com/… , gohacking.com/how-to-create-con-folder-in-windows , superuser.com/questions/86999/…
nul
Jon Skeet ha ragione. Ecco la pagina Nul Device Driver nella documentazione di Windows Embedded (non ho idea del perché non sia altrove ...).
Eccone un altro:
NULfunziona anche a livello di programmazione. Ad esempio il seguente:
freopen("NUL", "w", stderr);
funziona come previsto senza creare un file. (MSVC ++ 12.0)
NUL, ed è passato da quel punto 5 anni fa.
Se hai bisogno di eseguire in Microsoft Windows l'equivalente di un link simbolico a quello /dev/nullin Linux, apri e l'amministratore cmde digita:
Per i file:
mklink c:\path\to\file.ext NUL:
Oppure, per le directory:
mklink /D c:\path\to\dir NUL:
Ciò manterrà il file / directory sempre a 0 byte e restituirà comunque successo ad ogni tentativo di scrittura.
Devi usare start e $ NUL per questo in Windows PowerShell :
Digita questo comando assumendo che mySumsia il nome della tua applicazione e 5 10sono gli argomenti della riga di comando che stai inviando.
start .\mySum 5 10 > $NUL 2>&1
Il startcomando avvierà un processo distaccato, un effetto simile a &. L' /Bopzione impedisce l'avvio di aprire una nuova finestra del terminale se il programma in esecuzione è un'applicazione console. ed NULè l'equivalente di Windows di /dev/null. Alla 2>&1fine reindirizzerà stderr a stdout, che andrà a tutti NUL.