soo*_*ise 147 loops batch-file infinite-loop
这基本上是我想要的批处理文件.每当我按任意键超过"暂停"时,我希望能够重新运行"Do Stuff".
while(true){
Do Stuff
Pause
}
Run Code Online (Sandbox Code Playgroud)
看起来只有for循环可用且while批处理中没有循环.那么如何创建一个无限循环呢?
thk*_*ala 269
如何使用好(?)旧goto?
:loop
echo Ooops
goto loop
Run Code Online (Sandbox Code Playgroud)
另请参阅此示例以获取更有用的示例.
jeb*_*jeb 60
一个非常无限的循环,从1到10计数,增量为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
Run Code Online (Sandbox Code Playgroud)
如果你需要一个非常无限的循环,这可能很有用,因为它比goto :loop版本快得多,因为for循环在启动时完全缓存一次.
Nab*_*.Z. 49
用于Windows 的单行命令中的无限循环cmd:
FOR /L %N IN () DO @echo Oops
Run Code Online (Sandbox Code Playgroud)
另一种更好的方法:
:LOOP
timeout /T 1 /NOBREAK
::pause or sleep x seconds also valid
call myLabel
if not ErrorLevel 1 goto :LOOP
Run Code Online (Sandbox Code Playgroud)
这样你也可以处理错误