¿Cuál es el equivalente de /dev/null
en Windows?
414
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
/dev/random
y/dev/zero
controladores de dispositivo para Win32.NUL:
(yCON:
,PRN:
...), es principalmente una cuestión de estilo y muestra claramente queNUL:
es un objeto especial y no un archivo llamadoNUL
. Además, es posible con una API especial hacer un archivo llamadoNUL
(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:
(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.
fuente
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,
tener el mismo efecto que
/dev/null
en Linux.Esto fue probado en Windows 7, 64 bit.
fuente
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:
fuente
NUL
funciona programáticamente también. Por ejemplo, lo siguiente:funciona como se espera sin crear un archivo. (MSVC ++ 12.0)
fuente
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 administradorcmd
y escribir:Para archivos:
O, para directorios:
Esto mantendrá el archivo / directorio siempre en 0 bytes y aún así devolverá el éxito a cada intento de escritura.
fuente
Debe usar start y $ NUL para esto en Windows PowerShell :
Escriba este comando asumiendo que
mySum
es el nombre de su aplicación y que5
10
son argumentos de línea de comando que está enviando.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. yNUL
es el equivalente de Windows de/dev/null
. Al2>&1
final redirigirá stderr a stdout, que irá a todosNUL
.fuente