Cuando ejecutas un comando, si este se ejecuta bien se muestra en pantalla(stdout) sino se va a stderr(dispositivo de errores).
Mira, teclea esto en el cmd.exe
Aunque redirijas a NUL, deberías ver el mensaje de error, esto es porque el dispositivo de salida estandard(stdout) y el dispositivo de errores son distintos.
En cambio si haces:
No verás nada, ya que el mensaje de error fue enviado al "standard error stream".
Tomando esto:
Se mezclan stdout y stderr en un solo dispositivo y son redirigidos a NUL.
Saludos.
Mira, teclea esto en el cmd.exe
Código [Seleccionar]
EHCO Hello world>NUL
Aunque redirijas a NUL, deberías ver el mensaje de error, esto es porque el dispositivo de salida estandard(stdout) y el dispositivo de errores son distintos.
En cambio si haces:
Código [Seleccionar]
EHCO Hello world 2>NUL
No verás nada, ya que el mensaje de error fue enviado al "standard error stream".
Tomando esto:
Código [Seleccionar]
comando > nul 2>&1 && (
Código [Seleccionar]
2>&1
Se mezclan stdout y stderr en un solo dispositivo y son redirigidos a NUL.
Saludos.