В настоящее время у меня есть пакетный скрипт, который я использую для копирования одного большого zip-файла из сетевой папки на несколько компьютеров в сети. Мне нужно делать эти копии параллельно, поэтому у меня есть цикл for, который проходит через адреса и запускается с помощью robocopy. Вот что я получилКак дождаться завершения цикла for в пакете, прежде чем продолжить?
for /F "tokens=*" %%A in (IPlist.txt) do (
start robocopy "\\networkfolder" \\%%A
)
Проблема заключается в том, что мне нужно выполнить выписку на всех машинах я просто скопированных на но мне нужно ждать, пока robocopies не закончили. Я не могу использовать start/wait в цикле for, так как это разрушает параллельную копию. Есть ли способ заставить сценарий ждать, пока все robocopies не закончатся? или альтернативное решение?
FYI: Я не могу извлечь в сетевой папке сначала, так как zip - это много маленьких файлов и сильно замедляет скорость передачи. При копировании по сети это должен быть один большой файл.
Может быть, вы можете использовать 'tasklist' команду в цикле, чтобы проверить, есть ли Robocopy процессы еще бег, и если да, спите некоторое время и повторите попытку? –