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

Posted

技术标签:

【中文标题】循环完成后 FOR 循环恢复执行 - DOS(Windows 命令行)【英文标题】:FOR loop resume execution after loop complete - DOS (Windows Command line) 【发布时间】:2015-06-20 20:52:03 【问题描述】:

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

弗雷德.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

巴尼.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】:

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

【讨论】:

通过一些实验,我发现一个批处理文件足以完成 Fred.bat 包含行 ...) for /l %%i in (1,1,3) DO (copy fred.txt wilma%%i.txt)

以上是关于循环完成后 FOR 循环恢复执行 - DOS(Windows 命令行)的主要内容,如果未能解决你的问题,请参考以下文章

jquery问题,$.ajax在for循环里,如何控制完成success函数后再执行下一条循环?

两个嵌套for循环的执行顺序

在 Activity 内部,如何暂停 for 循环以调用片段,然后在按钮单击片段后恢复循环以重新开始

等到带有异步网络请求的 swift for 循环完成执行

for循环

Go语言在循环中panic后还能继续执行for循环?