我在多个在线论坛和博客中发现.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?
答案 0 :(得分:1)
您在使用CMD提示时混淆.cmd文件。 .cmd文件本质上是批处理文件(有一些差异,大多数人都不会注意到),而CMD提示符是命令行本身。
脚本使用%% I,命令提示符使用%I。