Например, у Вас есть переименовать команда в пакетном файле, и Вы хотите выполнить тот файл на текущем каталоге и всех подкаталогах.
Предположим, ваша партия называется что-то вроде myriname.cmd
Затем вы можете легко сделать следующее:
call myrename.cmd
for /r /d %%x in (*) do (
pushd "%%x"
call myrename.cmd
popd
)
Первая строка будет запустить ее для текущего каталога, цикл для
будет реюррительно ( / R
) по всем каталогам ( / D
) и выполните часть в скобках. То, что мы делаем внутри них, изменяют каталог на тот, который в настоящее время в настоящее время итерации с Pushd
- что имеет приятное свойство, которое вы можете отменить этот каталог с POPD
Запустите команду, которая затем будет запущена в каталоге, к которому мы просто переключились.
Это предполагает, что пакет находится где-то на пути. Если это не так и просто происходит, чтобы лежать, где пакетный файл выше лежит, то вы можете использовать
"%~dp0myrename.cmd"