Рекурсивный CMD или BAT скрипт Windows

Рекурсивный CMD или BAT скрипт Windows

Как создать BAT или CMD, который будет проходить по дереву папок и выполнять одну и ту же команду для каждого файла папки?

Например

myexe.exe C:\Documents and Settings\folder1\filename.txt
myexe.exe C:\Documents and Settings\folder2\filename.txt

Примечания:

  • Имя файла одинаково во всех найденных папках.
  • Названия папок будут разными.

Мы будем очень признательны за вашу помощь или любые подсказки о том, с чего начать.

решение1

Адаптируйте этот пакетный файл под свои нужды:

@echo off
cd "\program files"
for /f "usebackq delims=|" %%a in (`dir filename.txt /s/b`) do (
        echo %%a
        myexe "%%a"
)

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

решение2

Подход PowerShell:

Get-ChildItem -Recurse . ИМЯ_ФАЙЛА.TXT | foreach {
    $_
    & мой exe $_
}

Связанный контент