Windows: コマンドラインからバッチファイルを再帰的に検索して実行する

Windows: コマンドラインからバッチファイルを再帰的に検索して実行する

ネストされたフォルダーを持つプロジェクトがあります。

「build.bat」ファイルが見つかるまでディレクトリを再帰的に検索し、それを実行できるようにしたいと考えています。

これをコマンドラインから実行するにはどうすればよいですか? (つまり、バッチファイル自体ではありません)。

背景 (オプション): vim のコンパイラと makeprg 設定を活用して、プロジェクト内のどこかにあるビルド ファイルを実行し、出力をクイックヒントにリダイレクトしようとしています。

答え1

特定のプロジェクト ルート フォルダーがありd:\Remote、それが現在の作業ディレクトリであるとします。次に、(コマンド プロンプト ウィンドウからコピーして貼り付けます) 次のようにします。

d:\Remote>for /F "delims=" %G in ('dir /b /s build.bat') do @echo "%~G"
"d:\Remote\bat\test\build.bat"

その後、単に削除することができます@echo...

別の作業ディレクトリにいる場合:

d:\bat>for /F "delims=" %G in ('dir /b /s "d:\Remote\build.bat"') do @echo "%~G"
"d:\Remote\bat\test\build.bat"

注記複数のファイルが見つかる可能性があります。@echo削除すると、見つかったすべてのファイルが実行されます。

d:\Remote>for /F "delims=" %G in ('dir /b /s cdn.bat') do @echo "%~G"
"d:\Remote\bat\cdn.bat"
"d:\Remote\bat\test\cdn.bat"

リソース(必読):

関連情報