【问题标题】:How to do an while loop in batch through command line args如何通过命令行参数批量执行while循环
【发布时间】: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”部分非常重要,以至于您回滚了编辑并开始讨论它,但是您没有在任何地方解释过您实际上想要一个条件循环。

标签: windows loops batch-file cmd


【解决方案1】:

您不能在命令行上使用标签,但如果您正在寻找无限循环,则可能会滥用for /L 命令,从而使计数器永远不会达到其目标。

for /L %A in (,,) do timeout /t 1

请注意,如果您想在脚本中运行它,您需要将 %A 更改为 %%A,因为转义 %s 的工作原理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-08
    • 2014-07-18
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 2023-03-16
    • 2013-03-12
    • 1970-01-01
    相关资源
    最近更新 更多