FOR 循环在循环完成后继续执行 - DOS(Windows 命令行)
FOR loop resume execution after loop complete - DOS (Windows Command line)
在本网站贡献者的大力帮助下,我使用 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)。但是,三个副本中的一个焦点似乎没有return到第一个批处理文件(Fred)所以可以执行行'copy wilma3.txt to wilma4.txt'?有没有办法产生这个结果?也许我应该只在一个批处理文件而不是两个中进行循环复制?
是的,您可以只在一个 bat 文件中执行此操作,但我假设这只是一个示例,您有理由想要调用第二个 bat。要在 for 循环之后继续执行 Fred,您需要使用: ...) do call Barney.bat %%i
在本网站贡献者的大力帮助下,我使用 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)。但是,三个副本中的一个焦点似乎没有return到第一个批处理文件(Fred)所以可以执行行'copy wilma3.txt to wilma4.txt'?有没有办法产生这个结果?也许我应该只在一个批处理文件而不是两个中进行循环复制?
是的,您可以只在一个 bat 文件中执行此操作,但我假设这只是一个示例,您有理由想要调用第二个 bat。要在 for 循环之后继续执行 Fred,您需要使用: ...) do call Barney.bat %%i