ネストされたフォルダーを持つプロジェクトがあります。
「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"
リソース(必読):
- (コマンドリファレンス)Windows CMD コマンドラインの AZ インデックス
- (追加の詳細)Windows CMD シェルのコマンド ライン構文
- (
%~G
など特設ページ)コマンドライン引数(パラメータ)