删除除一个目录以外的所有文件和目录

时间:2012-03-15 09:12:10

标签: windows cmd command-prompt windows-console

我想使用Windows命令行删除除一个文件夹“.svn”之外的所有文件和目录。 我尝试这样做,分两步(我的工作目录是我要清理的文件夹):

  1. 首先删除除“.svn”:dir /B /A:D | findstr /V ".svn" | rmdir /Q
  2. 之外的所有目录
  3. 删除所有文件:del * /F /Q
  4. 第2步没问题,但是对于第1步,我得到“命令的语法不正确”。错误。由rmdir cmd引发。有人知道怎么做吗:删除除一个以外的所有目录。

1 个答案:

答案 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