我正在创建一个脚本来重新启动计算机,我需要报告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