【问题标题】:Why does %%I work in .cmd?为什么 %%I 在 .cmd 中工作?
【发布时间】:2017-08-14 18:23:35
【问题描述】:

我在多个在线论坛和博客中发现 .cmd 文件使用 %I(或 %A 等)进行循环,而批处理文件需要两个百分号 (%%I)。但是,这行代码在 .cmd 文件中对我来说效果很好:

FOR /L %%I IN (%case%, 1, %endcase%) DO (
aws s3 cp s3://[URL]/%user%/%%I "C:\Users\[directories]\Accuracy_Testing\datax\%user%_%%I" --recursive
) 

在这段代码中,我使用 AWS 的命令行界面来下载与多个 ID 关联的文件。 case 和 endcase 是解析到文件的参数。

当 .cmd 文件应该使用 %I 而不是 %%I 时,为什么这会起作用?

【问题讨论】:

标签: windows loops batch-file cmd


【解决方案1】:

您将 .cmd 文件与 CMD 提示符混淆了。 .cmd 文件本质上是批处理文件(有一些大多数人不会注意到的差异),而 CMD 提示符是命令行本身。

脚本使用 %%I,命令提示符使用 %I。

【讨论】:

    猜你喜欢
    • 2014-09-15
    • 2023-03-29
    • 1970-01-01
    • 2011-02-22
    • 2019-04-26
    • 2021-09-11
    • 2012-08-25
    • 2023-03-17
    相关资源
    最近更新 更多