這基本上是我想要的批處理文件。我希望能夠在任何按鍵經過「暫停」時重新運行「做東西」。如何在Windows批處理文件中創建無限循環?
while(true){
Do Stuff
Pause
}
貌似只有for
循環使用和批號while
循環。那麼我如何創建一個無限循環?
這基本上是我想要的批處理文件。我希望能夠在任何按鍵經過「暫停」時重新運行「做東西」。如何在Windows批處理文件中創建無限循環?
while(true){
Do Stuff
Pause
}
貌似只有for
循環使用和批號while
循環。那麼我如何創建一個無限循環?
不好:D有時更快,但從來沒有好:D好吧,只有一個好地方goto - 在最低編程x) – 2013-08-14 13:37:01
我同意jave.web你應該使用下面的循環建議。即使是腳本編寫,您也幾乎從不在代碼中使用goto。 Goto在80年代的GW Basic日子裏很酷。 – DoodleKana 2014-08-22 22:31:11
並從cmd提示符? – theonlygusti 2015-03-13 16:11:37
閱讀help GOTO
,並嘗試
:again
do it
goto again
一個真正無限循環,以0
你需要無限的或更多的增量達到10
for /L %%n in (1,0,10) do (
echo do stuff
rem ** can't be leaved with a goto (hangs)
rem ** can't be stopped with exit /b (hangs)
rem ** can be stopped with exit
rem ** can be stopped with a syntax error
call :stop
)
:stop
call :__stop 2>nul
:__stop
() creates a syntax error, quits the batch
如果你需要一個真正的無限循環,這可能是有用的,因爲它比goto :loop
版本,因爲for循環在啓動時會完整緩存一次。
不錯,因爲它也可以在命令提示符下輸入。for/L%n in(1,0,2)do @echo 。「hi guys」 – Nicholi 2012-07-09 19:36:31
以下是使用循環的一個示例:
echo off
cls
:begin
set /P M=Input text to encode md5, press ENTER to exit:
if %M%==%M1% goto end
echo.|set /p ="%M%" | openssl md5
set M1=%M%
Goto begin
這是簡單的間歇當我需要在Windows(必需OpenSSL的)加密的任何消息到MD5哈希我使用,並且該程序會忠實地重複除了給定的Ctrl + C或空輸入。
這樣做的另一種更好的方式:
:LOOP
timeout /T 1 /NOBREAK
::pause or sleep x seconds also valid
call myLabel
if not ErrorLevel 1 goto :LOOP
這種方式可以照顧的錯誤太
你問關於Windows/DOS批處理文件嗎? – thkala 2011-03-30 14:12:06
是的,對於模糊不清,我會給OP做一個附錄。 – sooprise 2011-03-30 14:12:24
+1 ooops,我發佈時沒有注意到其他答案! – 2011-03-30 14:30:09