麻辣家族討論版版's Archiver

luckeyfly 發表於 2019-1-9 09:51

[請問] 批次檔的執行問題

我的系統是WIN7 X64

測試一個指令 for /d %d in ( D:\TEST\LHT-20181229* ) do rmdir /s /q "%d"
因為*可能包含中文或是空格,所以最後面 %d 改成 "%d"
打開CMD視窗直接貼上指令,正確執行,目標的檔案夾可以全部刪除

把這個指令貼到 RUN.BAT 內做成批次檔(檔案內沒有其他多餘文字),並且把批次檔放在 D:\TEST\ 位置執行,
CMD視窗閃一下關閉,要刪除的檔案夾並沒有被刪除

請問批次檔為什麼執行無效?是否需要增加其他指令輔助?

luckeyfly 發表於 2019-1-9 10:35

自問自答  GOOGLE爬文找到原因了

CMD模式下,變數 只能用一個 %
for /d %d in ( D:\TEST\LHT-20181229* ) do rmdir /s /q "%d"

批次檔模式下,變數需要用二個 %
for /d %%d in ( D:\TEST\LHT-20181229* ) do rmdir /s /q "%%d"

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供