iT邦幫忙

1

bat檔刪除子資料夾

ska 2020-11-23 10:25:581336 瀏覽

請問各位大大

如何用bat檔只是刪除子資料夾以及子資料夾內的檔案,但是母資料夾內的檔案是不會被刪除﹖

8
japhenchen
iT邦大師 1 級 ‧ 2020-11-23 12:28:28
最佳解答
FOR /D %%p IN ("C:\Temp\*.*") DO rmdir "%%p" /s /q
看更多先前的回應...收起先前的回應...

不會刪到c:\temp裡的檔案,只刪其中的資料夾

雷伊 iT邦好手 1 級 ‧ 2020-11-23 13:01:15 檢舉

筆記

竹本立里 iT邦研究生 3 級 ‧ 2020-11-23 14:10:13 檢舉

實驗過 真的可以 太好了

在cmd中用一個%即可;而在batch檔中要寫兩個%%,前面的%為跳脫符號。

1
雷伊
iT邦好手 1 級 ‧ 2020-11-23 11:23:32

如果你不指定要刪除的子資料夾名稱,而是要刪除全部子資料夾並保留其同階層檔案
對我來說實在太難了,看看其他前輩有沒有高招
若要刪除某個子資料夾,下面是範例

RD "C:\Users\%USERNAME%\AppData\Local\Microsoft\Outlook\" /s /q
2
浩瀚星空
iT邦超人 1 級 ‧ 2020-11-23 14:30:34
cd 對應的目錄
FOR /D %d IN ("*.*") DO rd "%d" /sq

用for指令來輸出對應的路徑。並將其帶入實際的指令語法。
其實跟 japhenchen 的用法大同小異。

不過 japhenchen 。我本來以為%%可能有特殊的用處。
試著運行會報錯說。

看更多先前的回應...收起先前的回應...
竹本立里 iT邦研究生 3 級 ‧ 2020-11-23 14:47:56 檢舉

你是在命令提示字元下 直接輸入執行吧?
試著存成批次檔再執行看看

在cmd中用一個%即可;而在batch檔中要寫兩個%%,前面的%為跳脫符號

竹本立里 iT邦研究生 3 級 ‧ 2020-11-23 15:03:00 檢舉

請問什麼是 跳脫符號
我只知道%跟%%的使用差別,但不懂涵義
謝謝

呵,原來是跳拖用的。
linux用久了。dos的知識都忘光光了。
我的確是直接命令上跑也沒錯啦。

了解意思就好。

0
蟹老闆
iT邦大師 1 級 ‧ 2020-11-24 01:59:16

Œ

我要發表回答

立即登入回答