2017-08-14 67 views
0

我在多个在线论坛和博客中发现,.cmd文件利用%I(或%A等)循环和批处理文件需要两个百分号(%% I)。然而,这行代码已经在.cmd文件的工作很适合我:为什么%%我在.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

请参阅[Windows批处理文件:.bat vs .cmd?](https://stackoverflow.com/questions/148968/windows-batch-files-bat-vs-cmd) – Mofi

回答

1

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

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