
フォルダー ツリーを反復処理し、各フォルダー ファイルに対して同じコマンドを実行する 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 . FILENAME.TXT | foreach { $_ & myexe $_ }