2012-07-16 89 views
1

我不太熟悉Windows的批處理文件,所以這可能看起來像一個初學者的問題。我怎麼能「循環」或重複一個如下所示的命令?從批處理文件反覆執行Windows命令?

shutdown -a 
+0

你想重複固定次數嗎?重複它,直到發生一些情況?或者,如果你能夠解釋你想要實現的更廣泛的目標,它可能會更有用。 – reuben 2012-07-16 04:45:02

+0

@reuben - 我在工作的旁邊有一個人喜歡四處遊玩,並打我終端上的電源按鈕。當他彈出運行框並輸入「shutdown -a」命令時,只有50%的時間計算機經過了返回點,並且無法停止關閉,所以我認爲我只是不斷循環。 – RandomPhobia 2012-07-16 05:07:35

+0

不好意思聽到你要處理!你有沒有考慮過改變電腦對電源按鈕的反應?按住重置按鈕幾秒鐘通常不能被取消,但快速推動可能是軟件中斷... – reuben 2012-07-16 05:09:19

回答

-2

您是否試圖關閉多臺遠程計算機?您可以編寫ssh到每一臺機器的腳本,並將其發送關機命令:

ssh [email protected]_computer1 shutdown 
ssh [email protected]_computer2 shutdown 
... 

如果你的意思是你到循環在同一臺計算機上執行shutdown命令,你可以在你的〜/放什麼shutdown命令。 bashrc,如果你真的想。但要確保你有一個很好的理由這樣做。

+0

您是否假設OP在有問題的Windows計算機上安裝了'ssh','bash'和其他Unix工具? – reuben 2012-07-16 05:02:35

+1

@LMC - 至少在Windows上沒有'Shutdown -a'是一箇中止關機的命令 – RandomPhobia 2012-07-16 05:08:49

+0

@Reuben - 除非Windows預裝了它們,否則它們可能不會在電腦上,我想我會因爲添加東西 – RandomPhobia 2012-07-16 05:09:43

4

我同意評議@reuben,你可能應該尋找其他的選擇(包括得到那個同事自己「固定」),但無論如何,在這裏是一種反覆運行命令:

:loop 
shutdown -a 
goto loop 

注這可能仍然留下一個窗口,它不能取消關閉,因爲它不夠「快」。

此外,由於控制檯窗口將忙於打印消息,因此它對您的系統造成「輕微的恐懼」,至少在csrss.exe(或conhost.exe)的過程中。因此,您可能希望至少重定向輸出(shutdown -a > NUL 2>&1)和/或在呼叫之間引入一些delayshutdown。當然,後者會增加不顯着「關閉」關機的風險。

總而言之,這不是一個很好的解決方案,您的問題。抱歉。