2008-11-23 12 views

Respuesta

408

Creo que quiere NUL, al menos dentro de un símbolo del sistema o archivos de proceso por lotes.

Por ejemplo:

type c:\autoexec.bat > NUL 

no crea un archivo.

(. Yo creo lo mismo es cierto si se intenta crear un archivo mediante programación, pero yo no lo he probado)

En PowerShell, desea $null:

echo 1 > $null 
+1

@Jim: Interesante - No sabía que podría escribir en rutas fuera de/dev/null como si fuera un directorio. Hmm. –

+0

En Ubuntu: eco bla> /dev/null.txt bash: /dev/null.txt: Permiso denegado Tal vez esto es algo específico a su sistema ... – catphive

+19

@capthive: Hay una diferencia entre/dev/null.txt y /dev/null/foo.txt. –

53

acuerdo a este message on the GCC mailing list, puede utilizar el archivo "nulo" en lugar 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éditos a Danny para este código; copiar y pegar desde su mensaje)

También puede usar este archivo "nul" especial a través de la redirección.

25

NUL en Windows parece ser en realidad una ruta virtual en cualquier carpeta. Al igual que .., . en cualquier sistema de archivos.

uso de cualquier carpeta siguió con NUL trabajará

ejemplo:

echo 1 > nul 
echo 1 > c:\nul 
echo 1 > c:\users\nul 
echo 1 > c:\windows\nul 

tienen mismo efecto que /dev/null en Linux

prueba en Windows 7, 64 bits

+6

Bueno, no es posible crear un archivo llamado "nul" en Windows 7 64bit :) –

+4

@DawidFerenczy es posible, aunque no de la manera clásica. P.ej. 'md \\. \ c: \ nul' https://www.quora.com/Why-is-it-impossible-to-name-a-folder-in-Windows-with-the-word-con, http : //www.gohacking.com/how-to-create-con-folder-in-windows/, http://superuser.com/questions/86999/unable-to-rename-a-folder-or-a- file-as-con –

3

NUL obras mediante programación también. P.ej. lo siguiente:

freopen("NUL", "w", stderr); 

funciona como se esperaba sin crear un archivo. (MSVC++ 12.0)

+0

Hay tantas veces que la pregunta debe ser respondida con 'NUL', y ya pasó ese punto hace 5 años. – miken32

+1

Creo que esta respuesta agrega una contribución válida a la discusión. –

0

Usted tiene que usar inicio y $ NUL para esto en Windows PowerShell:

tipo en este comando asumiendo mySum es nombre de la aplicación y 510 son comandos argumentos de línea que está enviando.

start .\mySum 5 10 > $NUL 2>&1

El comando start se iniciará un proceso individual, un efecto similar al &. La opción /B impide que el inicio abra una nueva ventana de terminal si el programa que está ejecutando es una aplicación de consola. y NUL es el equivalente de Windows de /dev/null. El 2>&1 al final redirigirá stderr a stdout, que irá a NUL.