我想使用Windows命令行删除除一个文件夹“.svn”之外的所有文件和目录。 我尝试这样做,分两步(我的工作目录是我要清理的文件夹):
dir /B /A:D | findstr /V ".svn" | rmdir /Q
del * /F /Q
第2步没问题,但是对于第1步,我得到“命令的语法不正确”。错误。由rmdir
cmd引发。有人知道怎么做吗:删除除一个以外的所有目录。
答案 0 :(得分:0)
for /f "tokens=*" %i in ('dir /B /A:D') do if ["%i"] neq [".svn"] rd "%i" /f /q
<强>解释强>
for-loop枚举dir-command的输出。如果目录名中有间隔,则必须指定tokens = *。
if-parameters周围的方括号和双引号是一个老技巧,可以避免问题,如果参数没有得到任何结果(或空白)或包含空格
如果你想把它放在cmd文件中,请不要忘记加倍%-sign