
Как создать 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 $_ }