Respuestas:
Creo que lo desea NUL
, al menos dentro de un símbolo del sistema o archivos por lotes.
Por ejemplo:
type c:\autoexec.bat > NUL
no crea un archivo
(Creo que lo mismo es cierto si intentas crear un archivo mediante programación, pero no lo he intentado).
En PowerShell, quieres $null
:
echo 1 > $null
NUL:
(y CON:
, PRN:
...), es principalmente una cuestión de estilo y muestra claramente que NUL:
es un objeto especial y no un archivo llamado NUL
. Además, es posible con una API especial hacer un archivo llamado NUL
(ver una de las respuestas). Sueño con que tal vez algún día, si todos usan el colon por convención, podamos desaprobar los temidos nombres de dispositivos especiales :-)
De acuerdo con este mensaje en la lista de correo de GCC , puede usar el archivo "nul" 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 por este código; copiado de su mensaje).
También puede usar este archivo especial "nul" a través de la redirección.
C:\dev
directorio en Windows y utilizas muchas utilidades GNU, eventualmente adquirirás un archivo misterioso llamado nulo en ese directorio.
NUL
en Windows parece ser en realidad una ruta virtual en cualquier carpeta. Al igual que ..
, .
en cualquier sistema de archivos.
Usar cualquier carpeta seguida de NUL funcionará.
Ejemplo,
echo 1 > nul
echo 1 > c:\nul
echo 1 > c:\users\nul
echo 1 > c:\windows\nul
tener el mismo efecto que /dev/null
en Linux.
Esto fue probado en 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 está en lo correcto. Aquí está la página del controlador de dispositivo Nul en la documentación de Windows Embedded (no tengo idea de por qué no está en otro lugar ...).
Aquí está otro:
NUL
funciona programáticamente también. Por ejemplo, lo siguiente:
freopen("NUL", "w", stderr);
funciona como se espera sin crear un archivo. (MSVC ++ 12.0)
NUL
, y fue más allá de ese punto hace 5 años.
Si necesita realizar en Microsoft Windows el equivalente de un enlace simbólico a /dev/null
en Linux, debe abrir y administrador cmd
y escribir:
Para archivos:
mklink c:\path\to\file.ext NUL:
O, para directorios:
mklink /D c:\path\to\dir NUL:
Esto mantendrá el archivo / directorio siempre en 0 bytes y aún así devolverá el éxito a cada intento de escritura.
Debe usar start y $ NUL para esto en Windows PowerShell :
Escriba este comando asumiendo que mySum
es el nombre de su aplicación y que 5
10
son argumentos de línea de comando que está enviando.
start .\mySum 5 10 > $NUL 2>&1
El start
comando iniciará un proceso separado, un efecto similar a &
. La /B
opción evita 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
. Al 2>&1
final redirigirá stderr a stdout, que irá a todos NUL
.