Réponses:
Je pense que vous voulez NUL, au moins dans une invite de commande ou des fichiers batch.
Par exemple:
type c:\autoexec.bat > NUL
ne crée pas de fichier.
(Je crois que la même chose est vraie si vous essayez de créer un fichier par programme, mais je ne l'ai pas essayé.)
Dans PowerShell, vous voulez $null:
echo 1 > $null
NUL:(et CON:,, PRN:...), C'est principalement une question de style et montre clairement qu'il NUL:s'agit d'un objet spécial et non d'un fichier appelé NUL. De plus, il est possible avec une API spéciale de créer un fichier appelé NUL(voir une des réponses). Je rêve qu'un jour, si tout le monde utilise les deux-points par convention, nous pourrons déprécier les noms d'appareil spéciaux tant redoutés :-)
Selon ce message sur la liste de diffusion GCC , vous pouvez utiliser le fichier "nul" au lieu de / 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;
}
(Crédits à Danny pour ce code; copié-collé de son message.)
Vous pouvez également utiliser ce fichier spécial "nul" par redirection.
C:\devrépertoire dans Windows et que vous utilisez beaucoup d'utilitaires GNU, vous finirez par acquérir un mystérieux fichier appelé null dans ce répertoire.
NULdans Windows semble être en fait un chemin virtuel dans n'importe quel dossier. Tout comme .., .dans un système de fichiers.
Utiliser n'importe quel dossier suivi de NUL fonctionnera.
Exemple,
echo 1 > nul
echo 1 > c:\nul
echo 1 > c:\users\nul
echo 1 > c:\windows\nul
avoir le même effet que /dev/nullsur Linux.
Cela a été testé sur Windows 7, 64 bits.
md \\.\c:\nul quora.com/… , gohacking.com/how-to-create-con-folder-in-windows , superuser.com/questions/86999/…
nul
Jon Skeet a raison. Voici la page Nul Device Driver dans la documentation Windows Embedded (je n'ai aucune idée pourquoi ce n'est pas ailleurs ...).
En voici un autre:
NULfonctionne également par programme. Par exemple:
freopen("NUL", "w", stderr);
fonctionne comme prévu sans créer de fichier. (MSVC ++ 12.0)
NUL, et c'était déjà le cas il y a 5 ans.
Si vous devez effectuer dans Microsoft Windows l'équivalent d'un lien symbolique vers /dev/nullLinux, vous devez l'ouvrir et l'administrateur cmdet taper:
Pour les fichiers:
mklink c:\path\to\file.ext NUL:
Ou, pour les répertoires:
mklink /D c:\path\to\dir NUL:
Cela gardera le fichier / direcotry toujours à 0 octet et retournera toujours le succès à chaque tentative d'écriture.
Vous devez utiliser start et $ NUL pour cela dans Windows PowerShell :
Tapez cette commande en supposant que mySumc'est le nom de votre application et que ce 5 10sont les arguments de ligne de commande que vous envoyez.
start .\mySum 5 10 > $NUL 2>&1
La startcommande lancera un processus détaché, un effet similaire à &. L' /Boption empêche le démarrage d'ouvrir une nouvelle fenêtre de terminal si le programme que vous exécutez est une application console. et NULest l'équivalent de Windows pour /dev/null. À 2>&1la fin, redirigera stderr vers stdout, qui ira tous vers NUL.