1
從如何在Windows中使用批處理文件刪除包含特定字符串的目錄?
How to delete files containing certain string using batch file in Windows?
我學會了如何批量刪除包含特定字符串的文件。我做的是
del *(2)* /f /s
但這並沒有刪除目錄。它只會刪除文件。
我怎樣才能批量刪除包含某些字符串的目錄?
從如何在Windows中使用批處理文件刪除包含特定字符串的目錄?
How to delete files containing certain string using batch file in Windows?
我學會了如何批量刪除包含特定字符串的文件。我做的是
del *(2)* /f /s
但這並沒有刪除目錄。它只會刪除文件。
我怎樣才能批量刪除包含某些字符串的目錄?
沒有標準的Windows命令來刪除同一級別上的文件和目錄。 DEL
用於文件,RMDIR
/RD
用於目錄(但它可以刪除目錄中的文件)。
RMDIR
/RD
不適用於通配符,因此您需要使用FOR
循環。實際上,下面的代碼將打印出突擊隊來刪除問題中的目錄。如果您確信刪除將按照您的要求進行,請刪除ECHO
。
@ECHO OFF
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S "*(2)*"') DO (
ECHO RMDIR /S /Q "%%G"
)
還可以將此減少到一個班輪...
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S "*(2)*"') DO ECHO RMDIR /S /Q "%%G"
...如果你想直接在shell執行它(如從.bat
文件相對) ,這樣做:
FOR /F "tokens=*" %G IN ('DIR /B /AD /S "*(2)*"') DO ECHO RMDIR /S /Q "%G"
旗解釋:
FOR
/F
:遍歷文件集DIR
/B
:裸格式(需要所以它與FOR
作品)/AD
:對目錄/S
:工作遞歸RMDIR
/S
:工作遞歸/Q
:安靜模式