从批处理文件中重复执行Windows命令?

时间:2012-07-16 04:40:57

标签: windows loops batch-file cmd shutdown

我对Windows的批处理文件不太熟悉,所以这看起来像是一个初学者问题。我怎么能“循环”或重复一个如下命令?

shutdown -a

2 个答案:

答案 0 :(得分:6)

我同意评论者@reuben,你可能应该寻找其他选择(包括让那个同事自己“固定”),但无论如何这里是一种重复运行命令的方法:

:loop
shutdown -a
goto loop

请注意,这可能仍会留下一个窗口,因为它不够“快”而无法取消关闭。

此外,它会对您的系统造成“轻度恐怖”,至少在csrss.exe(或conhost.exe)进程中,因为控制台窗口将忙于打印消息。因此,您可能希望至少(shutdown -a > NUL 2>&1)重定向输出和/或在shutdown的调用之间引入一些delay。当然,后者会增加不能显着“捕捉”关机的风险。

总而言之,这不是解决问题的好方法。遗憾。

答案 1 :(得分:-2)

您是否尝试关闭多台远程计算机?您可以编写一个ssh到每台机器的脚本并发送shutdown命令:

ssh user1@remote_computer1 shutdown
ssh user2@remote_computer2 shutdown
...

如果你的意思是在同一台计算机上循环关闭命令,你可以将shutdown命令放在〜/ .bashrc中,如果你真的想要的话。但请确保您有充分的理由这样做。