Пакетный файл для запуска всех .bat файлов в папках и подпапках с разными именами - PullRequest
0 голосов
/ 29 октября 2019

Мне нужен простой скрипт для запуска всех .bat файлов в папках и подпапках с разными именами. Вот пример:

Основная папка> Bat Bat 1> Bat File 1.bat

Основная папка> Bat Папка 2> Bat File 2.bat

,,.

Основная папка> Папка Bat N> Файл Bat N.bat

Существует множество тем, в которых задается один и тот же вопрос, но одна из них, которая действительно сработала для меня, была следующей:

@echo off
pushd C:\Users\%USERNAME%\Desktop\Bat Folder 1\
for /f "delims=" %%x in ('dir /b /a-d *.bat') do start "" "%%x"&timeout /t 2 >nul
popd

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

Ответы [ 3 ]

1 голос
/ 29 октября 2019

Не полный ответ, но я думаю, что это может помочь вам начать:

for /r "C:\Users\%USERNAME%\Desktop" %%a in (*.bat) do start "" "%%~a"

Возможно, вам понадобится call "something.bat" или start "" cmd /c "something.bat"

Полагаю, если ваша партияфайлам нужен рабочий каталог, вы можете попробовать это:

:: Make sure you're in the correct drive
c:
for /r "C:\Users\%USERNAME%\Desktop" %%a in (*.bat) do (
   cd "%%~pa"
   call "%%~a"
)

0 голосов
/ 29 октября 2019

Я нашел альтернативу. Я использовал код dir /s /b *.bat > runall.bat, чтобы получить полный список каталогов, а затем заменил их на pushd C:\Users\%USERNAME%\Desktop\Bat Folder 1\Bat File 1.bat

Это определенно не очень хороший способ, но по крайней мере это решило мою проблему.

Редактировать: это просто не работает. просто читает первую строку и игнорирует остальные.

0 голосов
/ 29 октября 2019
pushd "\Path\To\Main Folder"
for /r %%F in ("*.bat") do start /wait "" "%%~F"

for /r будет рекурсивно повторяться по всем *.bat файлам во всех подкаталогах на любую глубину.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...