在脚本上做一些维护,我发现这条线:

ping -n 40 127.0.0.1 > NUL 2>&1

我知道from this question,直到NUL为止的所有内容都会导致脚本休眠39秒。但是我不知道其余命令的作用。
2>&1有什么作用?

最佳答案

分解线

ping -n 40 127.0.0.1

向本地主机发送40个ping数据包。如果没有问题,默认行为是在数据包之间等待1秒,因此会产生39秒的延迟
>nul   or   1>nul

将写入标准输出流(流编号1)的所有内容重定向到nul设备。发送到该设备的所有信息都将被丢弃。结果是ping命令的所有普通输出都被隐藏了。
2>&1

这会将任何写入标准错误流(流号2)的内容重定向。与前面的情况一样,这样做是为了隐藏输出(在这种情况下为错误),但是此语法请求将标准错误流中的数据发送到标准输出流中使用的句柄的副本。

关于windows - Windows命令中的 "2>&1"有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42211476/

10-13 03:10