¿Cuál es el equivalente a /dev/null en Windows?

> /dev/null  ...going nowhere
Si has trabajado con shell scripts te resultará familiar /dev/null, ese dispositivo fichero especial en Unix que podemos usar para hacer "desaparecer" todos los datos con solo escribirlos o redireccionarlos a él. Por eso se le llama agujero negro, cubo de basura, pozo sin fondo, etc.

Evidentemente hay algunas cosas que no podremos hacer con 'rm', necesitaremos /dev/null sobretodo para descartar un flujo de datos (stream) en tiempo de ejecución, normalmente la salida estándar o de un error de un comando dentro de un script. Por ejemplo, es muy común encontrarlo así:
algún comando > /dev/null 2>&1
Con el comando anterior evitaremos que se muestre la salida de un comando en concreto (stderr = 2, stdout = 1).

Pero, ¿existe un equivalente en Güindous? 

Efectivamente, NUL: o NUL en DOS, \Device\Null en Windows NT, nul en las versiones actuales:
type c:\autoexec.bat > NUL

El siguiente comando arrancará el proceso en segundo plano y redireccionara stderr a stdout y a su vez a NUL (superuser):
start /B foo > NUL 2>&1

Por otro lado, si usamos Powershell el equivalente es $null:
comando > $null (redirección)
ó
$null = comando (asignación a variable $null)

También hay un cmdlet para usarlo con una tubería:
"test" | out-null (pipe a cmdlet)

Y por último [void], el método más rápido para borrar en Powershell (tipo .Net usado en C#):
[void]$list.Add('Here')

0 comentarios :

Publicar un comentario en la entrada