如何通过命令行参数批量执行while循环
Posted
技术标签:
【中文标题】如何通过命令行参数批量执行while循环【英文标题】:How to do an while loop in batch through command line args 【发布时间】:2021-04-07 21:07:27 【问题描述】:我正在尝试通过命令行参数运行批处理脚本,以避免每次需要时都将批处理脚本写入文件。
示例批处理脚本是
:loop
timeout /t 1
goto loop
我用命令行将它传递给 cmd.exe
cmd.exe /C ":loop & timeout /t 1 & goto loop"
它适用于诸如超时之类的命令,但如果我包含诸如循环之类的标签,则它不起作用。
它什么也没说就直接退出了。
是否可以通过/C命令批量做标签和if else语句?
【问题讨论】:
您要实现的不是while循环而是无限循环,这就是我编辑问题标题的原因。无论如何,请澄清“通过命令行参数”的意思...... 您的问题中没有“while”循环。如果您不知道如何提问,请阅读How to Ask。 也许不要再假设每个人都不知道你在说什么,但你的措辞不清楚。您显示的 sn-p 以及您收到的答案会创建一个无限循环。单独或缺少标签不会神奇地将循环变成“while”循环,这是一种非常特殊的循环。 Windows 批处理脚本中没有“while”关键字。如果您在特定问题上需要帮助,您可以正确描述该问题。 很遗憾你发现有人要求澄清浪费时间。您发现问题的“while”部分非常重要,以至于您回滚了编辑并开始讨论它,但是您没有在任何地方解释过您实际上想要一个条件循环。 【参考方案1】:您不能在命令行上使用标签,但如果您正在寻找无限循环,则可能会滥用for /L
命令,从而使计数器永远不会达到其目标。
for /L %A in (,,) do timeout /t 1
请注意,如果您想在脚本中运行它,您需要将 %A
更改为 %%A
,因为转义 %
s 的工作原理。
【讨论】:
以上是关于如何通过命令行参数批量执行while循环的主要内容,如果未能解决你的问题,请参考以下文章