循环完成后FOR循环恢复执行 - DOS(Windows命令行)

时间:2015-04-15 03:14:59

标签: windows batch-file for-loop cmd

在这个网站的贡献者的帮助下,我使用DOS命令编写了一个FOR循环,这样一个带有FOR命令的批处理文件(Fred)执行第二个批处理文件(Barney)和其他命令来制作副本模板文件(如下)

Fred.bat:

REM Call Barney.bat to run the copy file command in Barney three times

for /l %%i in (1,1,3) DO Barney.bat %%i

REM now make another copy
copy wilma3.txt to wilma4.txt

Barney.bat:

REM make %i-th copy of the file fred.txt as wilma%i.txt

copy fred.txt wilma%1.txt

两个文件(Fred和Barney)可以很好地根据需要创建三个副本(wilma1.txt,wilma2.txt和wilma3.txt)。但是,三个副本中的一个副本似乎没有返回到第一个批处理文件(Fred),因此该行将wilma3.txt复制到wilma4.txt'可以执行吗?有没有办法产生这个结果?也许我应该只在一个批处理文件而不是两个批处理文件中进行循环复制?

1 个答案:

答案 0 :(得分:3)

是的,您可以在一个bat文件中执行此操作,但我假设这只是一个示例,您有理由想要拨打第二个bat。要在for循环后继续执行Fred,您需要使用:... ) do call Barney.bat %%i