再帰的な 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 . FILENAME.TXT | foreach {
    $_
    & myexe $_
}

関連情報