我想使用Windows命令行删除除了一个文件夹“.svn”以外的所有文件和目录。 我尝试这样做,在两个步骤(我的工作目录是我要清理的文件夹):
dir /B /A:D | findstr /V ".svn" | rmdir /Q
dir /B /A:D | findstr /V ".svn" | rmdir /Q
del * /F /Q
步骤2是好的,但是对于步骤1,我得到一个“该命令的语法不正确”。 错误。 由rmdir
cmd引发。 有没有人知道如何做到这一点确定:删除除一个以外的所有目录。
for /f "tokens=*" %i in ('dir /B /A:D') do if ["%i"] neq [".svn"] rd "%i" /f /q
说明
for循环列举了dir-command的输出。 如果目录名中有间隔,则必须指定tokens = *。
围绕if参数的方括号和双引号是一个古老的技巧,如果参数没有任何东西(或空白)或包含空白
如果你想把它放在一个cmd文件中,不要忘了把%-signs加倍