如何在Windows批处理文件中创建一个无限循环?
如何在Windows批处理文件中创建一个无限循环?
有一个真正的无限循环,从1计数到10,增量为0。
你需要无限或更多的增量才能达到10。
for /L %%n in (1,0,10) do ( echo do stuff rem ** 无法用goto离开(挂起) rem ** 无法用exit /b停止(挂起) rem ** 可以用exit停止 rem ** 可以用语法错误停止 call :stop ) :stop call :__stop 2>nul :__stop () 创建一个语法错误,退出批处理
如果您需要一个真正的无限循环,这种方法非常有用,因为for循环在启动时会完全缓存。
很好,因为它也适用于在命令提示符下输入。 for /L%n in(1,0,2)do。 "嗨,伙计"
希望这个解决方案能有更多的解释。
在Windows批处理文件中创建无限循环的原因是为了让一个命令一直重复执行。这种情况可能会在需要持续运行某个命令或任务的场景下出现。
解决方法是使用FOR /L命令来创建无限循环。该命令的语法是"FOR /L %N IN () DO",其中"%"符号用于单行命令,"%%"符号用于批处理文件中的命令。
需要注意的是,在使用无限循环时要小心运行立即退出的命令,在Windows上这种情况比在Linux上更常见。这可能会导致循环无法正常终止,需要手动停止批处理文件的执行。
以下是使用无限循环的示例代码:
FOR /L %N IN () DO Oops
如果要在批处理文件中使用,需要将代码修改为:
FOR /L %%N IN () DO Oops
通过使用这种方法,可以实现在Windows批处理文件中创建一个无限循环。这对于需要持续运行某个命令或任务的情况非常有用。但需要注意,在使用无限循环时要小心运行立即退出的命令,以避免导致循环无法正常终止。
在Windows批处理文件中创建无限循环的方法是使用goto
命令。下面是一个使用goto
命令创建无限循环的示例代码:
:loop echo Ooops goto loop
使用goto
命令能够实现无限循环,但并不是一种良好的编程实践。大多数情况下,应该避免使用goto
命令,即使是在脚本中也是如此。在80年代的GW Basic时代,goto
命令非常流行。
虽然有人认为使用goto
命令是没有问题的,只要使用得当。例如,可以使用goto
命令来确保在循环中运行的程序在意外终止时自动重新启动。但是,为了避免CPU过度占用,可能需要在循环中加入一个小的等待时间。
还有一种在一行命令中使用goto
命令的方法::lbl & echo Ooops & goto lbl
。但是这种方法在某些情况下可能无法正常工作,可以尝试FOR /L (1,0,2) DO Oops
命令替代。
在批处理文件中使用goto
命令可能会使代码变得难以理解。相比之下,使用for
命令的其他解决方法需要了解Windows批处理中for
命令的语法,而goto
命令的使用更加简单明了。