2013-05-13 87 views
0

从批处理脚本文件中,以下代码成功删除以*开头的文件夹,表示通配符。如何编写一个迭代不匹配的文件/文件夹的FOR循环?例如; ![* ABC]如何迭代名称不匹配通配符的文件/目录?

REM Remove unwanted files/directories 

FOR /D /r %%G IN ("local\partialFileName*") DO (

      RMDIR /Q /S %%G     

) 
+0

比方说,它取决于当前的情况和正则表达式的能力。 – Endoro 2013-05-14 01:41:08

回答

0

创建一个临时目录,将符合条件的文件存在,删除所有仍然存在,然后将其移回。由于在同一个驱动器上移动并不需要拷贝,所以它会很快。

md ..\foo 
move *abc ..\foo 
rd . /s /q 
move ..\foo\* . 
rd ..\foo 

第一个rd命令会生成一条错误消息,但可以忽略。