我有一個帶有嵌套資料夾的項目。
我希望能夠遞歸查找目錄,直到找到“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 Shell 命令列語法
- (
%~G
等特別頁)命令列參數(參數)