iT邦幫忙

0

windows 刪除目錄底下任何資料夾?

大家好

最近想做一個批次檔可以配合GPO來清理使用者的桌面檔案

但發現RD的指令會指定的該目錄也跟著刪除,無法只刪除該目錄底下的資料夾

比如我有c:\abc這個資料夾,我在abc裡建立數個資料夾c:\abc\111,c:\abc\222

那我想刪除abc下所有的資料夾有辦法嗎?

看更多先前的討論...收起先前的討論...
froce iT邦大師 3 級 ‧ 2017-06-07 17:03:25 檢舉
加/s不行嗎?
因為我加/s後還是一樣會刪除掉abc的資料夾,沒辦法只刪除底下的
slime iT邦大師 1 級 ‧ 2017-06-07 23:04:01 檢舉
rd /s /q c:\abc\*



cd c:\abc
rd /s /q c:\abc\.



rd c:\abc
md c:\abc
misadm iT邦高手 10 級 ‧ 2017-06-08 09:01:24 檢舉
那就整個刪除後,再重新建立 abc 資料夾,還是說你資料夾的名稱是不固定的?
小成 iT邦高手 10 級 ‧ 2017-06-08 09:31:18 檢舉
就slime大的方法,先進入到abc (cd c:\abc),然後再 rd ,這樣abc資料夾會因為正在使用中,就不會被刪掉,但底下的資料夾跟檔案會全數清空。
請參考 http://blog.xuite.net/tolarku/blog/31746025-Windows++%E5%BC%B7%E5%88%B6%E5%88%AA%E9%99%A4%E6%AA%94%E6%A1%88%E5%8F%8A%E8%B3%87%E6%96%99%E5%A4%BE+-+%E9%80%A3+unlock+%E9%83%BD%E7%9C%81%E4%BA%86
照著slime大的方法成功了,先到目錄底下再刪除該目錄,會因為被占用不會被刪除而達到我要的需求,
但是我把指令弄成批次檔後執行卻還是失敗,還是會把整個目錄刪掉,是語法的問題嗎?
cd c:\abc
rd /s /q c:\abc\
感覺是指令被分開執行?
小成 iT邦高手 10 級 ‧ 2017-06-09 10:28:28 檢舉
我也是這樣做的,但沒有這個問題。
我來猜猜,假設你要刪除的資料夾放在C:,但你的執行檔卻放在D:,是這樣嗎?
如果是這樣,那麼你執行檔執行的時候,工作目錄是在 D:\xxx (批次檔的位置),
這時候跑 cd C:\abc,工作目錄仍然是在 D:\xxx
然後跑 rd /s /q C:\abc,工作目錄仍然是在 D:\xxx
也就是說,C:\abc 根本沒有被占用。
會被占用的狀況,是因為執行rd /s /q 的當下,工作目錄是在 C:\abc 的狀況下,被 cmd 占用,這樣才會因為被佔用而不被刪除。
所以批次檔要改這樣...

c:
cd c:\abc
rd /s /q c:\abc\

多一行 C:
測試後已經正常,原因跟你說的一樣是執行檔放在D曹的關係,謝謝你

尚未有邦友回答

立即登入回答