Windows 如何通过命令行参数成批执行while循环
我试图通过命令行参数运行批处理脚本,以避免每次需要时都将批处理脚本写入文件 示例批处理脚本是Windows 如何通过命令行参数成批执行while循环,windows,loops,batch-file,cmd,Windows,Loops,Batch File,Cmd,我试图通过命令行参数运行批处理脚本,以避免每次需要时都将批处理脚本写入文件 示例批处理脚本是 :loop timeout /t 1 goto loop 我通过命令行将其传递给cmd.exe cmd.exe /C ":loop & timeout /t 1 & goto loop" 它适用于timeout之类的命令,但如果包含loop之类的标签,它就不起作用 它什么也没说就退出了 是否可以通过/C命令成批执行标签和if-else语句?您不能在命令行上使用标签
:loop
timeout /t 1
goto loop
我通过命令行将其传递给cmd.exe
cmd.exe /C ":loop & timeout /t 1 & goto loop"
它适用于timeout之类的命令,但如果包含loop之类的标签,它就不起作用
它什么也没说就退出了
是否可以通过/C命令成批执行标签和if-else语句?您不能在命令行上使用标签,但如果您正在寻找无限循环,则可能滥用for/L命令,从而使计数器永远无法达到其目标
for /L %A in (,,) do timeout /t 1
请注意,如果要在脚本中运行此操作,需要将%a更改为%%a,因为转义%s是如何工作的。您尝试实现的不是while循环,而是无限循环,这就是我编辑问题标题的原因。无论如何,请通过命令行参数阐明您的意思……您的问题中没有while循环。如果你不知道如何提问,请阅读。也许不要假设每个人都不知道你在说什么,但你的措辞不清楚。您显示的代码片段以及收到的答案将创建一个无限循环。标签本身或缺少标签都不会神奇地将循环变成while循环,while循环是一种非常特殊的循环类型。Windows批处理脚本中没有while关键字。如果你在某个问题上需要帮助,那就由你来恰当地描述所说的问题。很遗憾,你发现有人要求澄清是在浪费时间。您发现问题的while部分非常重要,以至于您回滚了一个编辑并开始讨论它,但是您没有解释您实际上想要一个条件循环。