iT邦幫忙

0

請問如何使用批次檔刪除非指定目錄下的子目錄

請問如何使用批次檔刪除非指定目錄下的子目錄
例如 如下,我要刪除各目錄下的temp目錄(內容含有資料)
c:\123\temp
c:\456\temp
c:\789\temp
批次檔應該如何寫呢 謝謝

2 個回答

4
marshuang
iT邦新手 1 級 ‧ 2010-01-11 13:43:11

FOR /F %%a IN ('DIR TEMP /S /B') DO del/Q %%a
例如:
d:\123\temp\text.txt
d:\456\temp\text.txt
d:\789\temp\text.txt
執行結果:
刪除了各Temp目錄下的檔案.
D:\>FOR /F %a IN ('DIR TEMP /S /B') DO del/Q %a
D:\>del/Q D:\123\Temp
D:\>del/Q D:\456\Temp
D:\>del/Q D:\789\Temp

cooch iT邦研究生 3 級 ‧ 2010-01-11 14:15:11 檢舉

精確一點,
dir 要加上 /ad 參數,

marshuang iT邦新手 1 級 ‧ 2010-01-11 15:25:54 檢舉

ad及pineline在實務上是有點多餘

cooch iT邦研究生 3 級 ‧ 2010-01-11 19:53:31 檢舉

pipeline 的確是多餘,
加入 /ad 參數只有當有檔案的檔名剛好是 temp 才有那麼一點區別作用,
實務上確實是有點多餘!

4
cooch
iT邦研究生 3 級 ‧ 2010-01-11 14:05:58
<pre class="c" name="code">for /f "usebackq" %%d in (`"dir /ad/b/s | find "temp""`) do del "%%d" /f /s /q

注意:
1 您或許需要調整裏面的 del 的參數 /f /s /q
2 我有做過簡單測試,不過您使用前還是請自己在測試環境測試一下!

awei1004 iT邦新手 5 級 ‧ 2010-01-11 14:19:32 檢舉

你好
若目錄路徑比如為 C:\Documents and Settings\username\
該目錄下有很多目錄 要如何刪除這麼多目錄下的 temp 資料夾(temp目錄內的資料)
謝謝

cooch iT邦研究生 3 級 ‧ 2010-01-11 15:02:23 檢舉
<pre class="c" name="code">c:
cd C:\Documents and Settings\
for /f "usebackq delims==" %%d in (`"dir temp /ad/b/s"`) do del "%%d" /f /s /q 
awei1004 iT邦新手 5 級 ‧ 2010-01-11 15:11:57 檢舉

謝謝
照您的方法可以解決了

我要發表回答

立即登入回答