3

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

  1. 首先删除除“.svn”之外的所有目录:dir /B /A:D | findstr /V ".svn" | rmdir /Q
  2. 删除所有文件:del * /F /Q

第 2 步没问题,但对于第 1 步,我得到“命令的语法不正确”。错误。由rmdircmd 抛出。有谁知道如何做到这一点:删除除一个以外的所有目录。

4

1 回答 1

0
for /f "tokens=*" %i in ('dir /B /A:D') do if ["%i"] neq [".svn"] rd "%i" /f /q

解释

for 循环枚举 dir 命令的输出。如果目录名称中有空格,则必须指定 tokens=*。

如果参数没有得到任何内容(或空白)或包含空白,则 if 参数周围的方括号和双引号是避免出现问题的老技巧

如果要将其放入 cmd 文件中,请不要忘记将 % 符号加倍

于 2016-08-31T08:25:48.420 回答