将 Shutdown.exe 错误重定向至文件

将 Shutdown.exe 错误重定向至文件

我正在创建一个脚本来重新启动计算机,我需要报告shutdown.exe命令的成功或失败作为脚本日志的一部分。我在将失败的shutdown.exe进程的输出重定向到文件时遇到了问题。这是我的命令行:

shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt

当我运行此程序时,我在屏幕上看到以下消息:“top34.top.local:输入的计算机名称无效或目标计算机不支持远程关机。请检查名称,然后重试或联系系统管理员。(53)”,这是我所期望的,但 c:\output.txt 为空白 - 并且不包含此错误。我的脚本需要将此行输出到文本文件以进行记录。

我也尝试将它包装在 CMD 中,如下所示:

cmd /c shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt

但这也没有产生任何结果。我也尝试了双重 >> (附加),但这没有任何区别。

我做了大量调查,发现shutdown.exe 会将成功命令的输出重定向到 stdout,但不会将失败命令的输出重定向到 stdout。我怎样才能让它将成功和失败的命令都重定向到我的文件?

运行 Windows 2012 R2

答案1

我怎样才能让它(shutdown)将成功和失败的命令重定向到我的文件?

使用以下命令:

shutdown.exe -r -t 50000 -m \\top34.top.local > c:\output.txt 2>&1

请注意,应该2>&1第一次>重定向。


复制句柄

重定向&运算符将输出或输入从一个指定句柄复制到另一个指定句柄。例如,要将 dir输出发送到 File.txt 并将错误输出发送到File.txt,请输入:

dir > c:\file.txt 2>&1

来源使用命令重定向运算符

相关内容