如何更有效地重写多个批处理命令?

时间:2014-04-07 19:50:49

标签: windows batch-file

有没有办法将以下代码合并为一行代码?

我在bat文件中设置环境变量和配置。

具体来说,我需要将1个源文件复制到变量目标中。

例如,我需要将1.gif复制到客户端文件夹,具体取决于它们的内容:M020,M030,.. M080。

目前我有:

copy "<source>" "targetM020"
copy "<source>" "targetM030"
copy "<source>" "targetM040"
copy "<source>" "targetM050"

等...

3 个答案:

答案 0 :(得分:0)

您可以使用FOR命令

FOR %%i in (...) DO COPY "<source>" %%i

答案 1 :(得分:0)

您可以使用FOR命令并指定字符串中的目标列表。你必须查找确切的语法,但这会让你开始:

FOR /F "delims=," %%D IN ("targetM020,targetM030,targetM040,targetM050") DO COPY "<SOURCE>" "%%D" 

答案 2 :(得分:0)

这适用于不同的目标 - 在XP及更高版本中,命令行大约为8KB。

for %%a in ("targetM020" "targetM030" "targetM040" "targetM050") do copy "c:\folder\file.gif" "%%~a"

如果他们共享一个共同的目标文件夹,那么你可以使用这种风格:

for %%a in ("targetM020" "targetM030" "targetM040" "targetM050") do copy "c:\folder\file.gif" "d:\backup\folder ABC\%%~a"