遞歸 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 方法:

取得子項-遞歸。檔案名稱.TXT | foreach {
    $_
    & myexe $_
}

相關內容