Я предполагаю, что когда вы говорите «по очереди», вы имеете в виду «один за другим» (то есть выполните первый файл setup.exe, дайте ему завершиться, выполните второй файл setup.exe, дайте ему завершиться и т. Д. ).
Если setup.exe на основе консоли , то вы можете просто позвонить .EXE напрямую. Каждый файл setup.exe будет прикреплен к окну консоли .BAT-файла, таким образом блокируя его выполнение до завершения setup.exe. Аналогично примеру цикла for, заданному Bubbafat :
for /f %%i in ('dir /b /s setup.exe') do %%i
Однако, если setup.exe на основе графического интерфейса , вам придется использовать команду CALL. Это приведет к тому, что файл .BAT будет ожидать завершения вызываемого процесса, прежде чем выполнять какие-либо другие команды:
for /f %%i in ('dir /b /s setup.exe') do call %%i
Теперь, если я неправильно понял вас и ваши EXE-файлы основаны на консоли, и вы хотите выполнить их все одновременно, не дожидаясь завершения каждого из них по очереди, тогда вы можете использовать команду START. Это откроет новое окно консоли для каждого EXE.
for /f %%i in ('dir /b /s setup.exe') do start %%i
NB: изменен цикл типа "for / r" на "for / f", поскольку он будет возвращать только существующие пути (в отличие от "for / r", который генерирует пути, которые могут не существовать).