为什么%%我在.cmd工作?

时间:2017-08-14 18:23:35

标签: windows loops batch-file cmd

我在多个在线论坛和博客中发现.cmd文件使用%I(或%A等)进行循环,批处理文件需要2%的符号(%% 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?

1 个答案:

答案 0 :(得分:1)

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

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