5

У меня есть три файла bat, которые я хотел бы запустить, в трех разных каталогах:

Каталог / BAT1 / bat1.bat

Каталог / BAT2 / bat2.bat

Каталог /bat3 /bat3.bat

Я хотел бы использовать один мастер .bat для запуска всех других бит в своих каталогах. Я не могу использовать вызов, потому что я получаю ошибки, потому что в каталоге есть зависимости для каждой отдельной летучей мыши. Я попытался использовать запуск, но он тоже не работает, он просто вызывает командную строку в папке.

Я знаю, это звучит немного запутанно, но все, что я хочу сделать, это использовать один файл .bat для запуска нескольких файлов .bat, независимых друг от друга, в своих собственных каталогах.

3 ответа3

6

Я нашел решение! Я использовал этот код для того, чтобы bat открывал три разных файла bat независимо:

cd "\directory\bat1\"
start bat1.bat
cd "\directory\bat2\"
start bat2.bat
cd "\directory\bat3\"
start bat3.bat
6

Если вы используете start, другие bat-файлы будут создавать новый процесс для каждой bat и запускать их все одновременно.

cd "\directory\bat1\"
start bat1.bat
cd "\directory\bat2\"
start bat2.bat
cd "\directory\bat3\"
start bat3.bat

Но если вы хотите запустить следующий после завершения последнего, вы можете использовать вызов

cd "\directory\bat1\"
call bat1.bat
cd "\directory\bat2\"
call bat2.bat
cd "\directory\bat3\"
call bat3.bat

не забудьте первый \ в начале компакт-диска , иначе он попытается изменить каталог на подкаталог текущего рабочего каталога.

1

Так что я боролся с этой проблемой, и ни одно из этих или других решений не сработало. В "главном" пакетном файле я хотел получить доступ к подпапкам и последовательно запускать пакетные файлы в этих папках. Это то, что я в конечном итоге сделал,

cd Folder1
call batch_cmd.bat
cd ..
cd Folder2
call batch_cmd.bat
cd ..

и тд и тп

Этот формат работал хорошо для меня, так как я использовал javascript/nodejs для генерации этих команд и командных файлов.

Если вы хотите сделать что-то полностью в пакетных файлах, я бы посоветовал вам поискать сценарии powershell.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .