sistema - ¿Hay un/dev/null en Windows?
windows versiones (7)
¿Cuál es el equivalente de /dev/null
en Windows?
Creo que quieres 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 probado).
En PowerShell, quieres $null
:
echo 1 > $null
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 utilizar este archivo "nul" especial a través de la redirección.
Debe usar inicio y $ NUL para esto en Windows PowerShell :
Escriba este comando asumiendo que mySum
es el nombre de su aplicación y 5
10
son argumentos de línea de comandos que está enviando.
start ./mySum 5 10 > $NUL 2>&1
El comando de inicio iniciará un proceso separado, un efecto similar a &
. La opción /B
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
. El 2>&1
al final redireccionará stderr a stdout, que irá a NUL
.
Jon Skeet tiene razón. 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:
Si necesita realizar en Microsoft Windows el equivalente de un enlace simbólico a /dev/null
en Linux, abriría el cmd
y el tipo de administrador:
Para archivos:
mklink c:/path/to/file.ext NUL:
O, para directorios:
mklink /D c:/path/to/dir NUL:
Esto mantendrá el archivo / direcotry siempre en 0 byte, y seguirá devolviendo el éxito a cada intento de escritura.
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 con NUL funcionará.
Ejemplo,
echo 1 > nul
echo 1 > c:/nul
echo 1 > c:/users/nul
echo 1 > c:/windows/nul
tiene el mismo efecto que /dev/null
en Linux.
Esto fue probado en Windows 7, 64 bit.
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)