Пакетный запуск одной и той же команды в зависимости от выходных данных

#batch-file #batch-processing

#пакетный файл #пакетная обработка

Вопрос:

У меня есть пакет Windows, который умеет обрабатывать 100 файлов одновременно и перемещать их куда-то после обработки. (не может быть изменен)
Если процессу не удается найти больше файлов, он возвращает сообщение «больше файлов нет»
Если процессу удалось его обработать, верните сообщение «процесс в порядке»

Я хочу постоянно запускать процесс с использованием другого пакетного файла в папке с большим количеством файлов
Как мне прочитать и сравнить значение из первого пакета, чтобы определить, нужно ли мне снова запускать ту же команду?
должен ли я использовать GOTO или цикл while в этом случае?

 do
   first batch
while (first batch output != 'no more files')
  

Комментарии:

1. Зачем вам нужно обрабатывать 100 файлов одновременно? Похоже, robocopy это было бы хорошим решением, потому что оно имеет автоматическую повторную попытку, ограничение пропускной способности и т.д.

2. пакет существует и не может быть изменен с момента его вызова другой системой.

Ответ №1:

 :do
   rem first batch
   for /F "delims=" %%a in ('firstBatch.bat') do set output=%%a
rem while (first batch output != 'no more files')
if "%output%" neq "no more files" goto do