簡體   English   中英

如何遞歸執行Windows批處理命令?

[英]How to execute a windows batch command recursively?

例如,批處理文件中有重命名命令,並且您希望在當前目錄和所有子目錄上執行該文件。

假設您的批處理名稱類似於myrename.cmd ,那么您可以輕松地執行以下操作:

call myrename.cmd
for /r /d %%x in (*) do (
    pushd "%%x"
    call myrename.cmd
    popd
)

第一行將為當前目錄運行它, for循環將在所有目錄( /d )上遞歸迭代( /r )並執行括號中的部分。 我們在其中做的是將目錄更改為我們當前正在迭代的目錄,其中pushd -which具有可以使用popd撤消該目錄更改的nice屬性 - 然后運行該命令,然后將在目錄中運行該命令我們剛轉到。

這假設批處理位於路徑中的某個位置。 如果它沒有並且恰好位於上面的批處理文件所在的位置,那么您可以使用

"%~dp0myrename.cmd"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM