iT邦幫忙

1

bat檔刪除子資料夾

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

請問各位大大

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

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
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 檢舉

筆記

實驗過 真的可以 太好了

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

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

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

RD "C:\Users\%USERNAME%\AppData\Local\Microsoft\Outlook\" /s /q
2
cd 對應的目錄
FOR /D %d IN ("*.*") DO rd "%d" /sq

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

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

看更多先前的回應...收起先前的回應...

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

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

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

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

了解意思就好。

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

Œ

我要發表回答

立即登入回答