gpt4 book ai didi

batch-file - 如何在继续之前等待 for 循环批量完成?

转载 作者:行者123 更新时间:2023-12-03 19:44:30 27 4
gpt4 key购买 nike

我目前有一个批处理脚本,用于将一个大型 zip 文件从网络文件夹复制到网络上的多台机器。我需要并行执行这些副本,因此我有一个循环遍历地址并运行 start robocopy。这是我所拥有的

for /F "tokens=*" %%A in (IPlist.txt) do (

start robocopy "\\networkfolder" \\%%A
)

问题是我需要在我刚刚复制到的所有机器上执行提取,但我需要等到 robocopies 完成。我不能在 for 循环中使用 start/wait ,因为这会破坏并行副本。有没有办法可以强制脚本等到所有机器人复制完成?或者可能是替代解决方案?

仅供引用:我无法先在网络文件夹中解压缩,因为 zip 是很多小文件并且会严重降低传输速度。通过网络复制时,它需要是一个大文件。

最佳答案

setlocal EnableDelayedExpansion
set number=0
for /F "tokens=*" %%A in (IPlist.txt) do (
set /A number+=1
echo Flag > roboRunning.!number!
start robocopy "\\networkfolder" \\%%A ^& del roboRunning.!number!
)

:wait
if exist roboRunning.* goto wait

echo All robocopy processes have finished here

关于batch-file - 如何在继续之前等待 for 循环批量完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17203744/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com