您好我正在尋找類似Linux中的這個命令的命令:如何在不刪除Windows CMD中的目錄的情況下刪除目錄中的所有文件和子目錄?
RM -fRv調試/ *
此命令刪除所有文件和目錄,裏面調試,但沒有刪除調試目錄。
我如何在Windows中使用CMD來做到這一點?
再見
您好我正在尋找類似Linux中的這個命令的命令:如何在不刪除Windows CMD中的目錄的情況下刪除目錄中的所有文件和子目錄?
RM -fRv調試/ *
此命令刪除所有文件和目錄,裏面調試,但沒有刪除調試目錄。
我如何在Windows中使用CMD來做到這一點?
再見
for /d %x in (debug\*) do @rd /s /q "%x"
del /s /f /q debug\*
似乎爲我:
del /S /Q debug\*
(雖然,題外話,我使用MinGW的rm
命令,工作只是同Linux下)
del/S/Q debug \ * - 此命令只刪除文件..子目錄保持不變。我如何在Qt項目文件(.pro)中使用MinGw rm命令? – MaikoID 2011-03-31 15:36:11
我對Qt項目文件一無所知,但由於問題是關於CMD的,我認爲它們是以腳本的形式運行的。您可以從MinGW或從GnuWin32或Unxutils(無論您需要)獲得的rm只是Unix意義上普通的普通「命令」程序。所以,只要它在%PATH%中,你可以從任何腳本調用它。 – Damon 2011-03-31 15:47:16
嗯..我明白了,但我找不到任何文件叫rm.exe(或類似)在我的Qt安裝MinGW。 – MaikoID 2011-03-31 15:55:59
rd/s/q debug \ * - 不起作用。它告訴「命令語法錯誤」。 – MaikoID 2011-03-31 15:39:20
這是我見過的一個簡單命令中最奇怪的罪惡。但它是有效的。謝謝 – MaikoID 2011-03-31 16:02:25
@user:從歷史上看,刪除一個目錄和一個文件(回到舊的DOS時代是CMD基於的(以及之前的CP/M))之間存在區別。所以這裏所做的是遍歷所有目錄('for/d'),併爲每個目錄發出一個'rd'命令(因爲'rd'不能接受通配符,正如你注意到的那樣)。然後我們繼續刪除該目錄中的所有正常文件('del debug \ *')。更容易(也可能更快的方法)可能是刪除'debug'並重新創建它,但是當然如果某個進程仍然有它作爲其工作目錄,那麼這將不起作用。 – Joey 2011-03-31 16:26:43