如何迭代名称与通配符不匹配的文件/目录?

时间:2013-05-13 23:28:13

标签: batch-file cmd dos

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

REM Remove unwanted files/directories

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

            RMDIR /Q /S %%G                 

)

1 个答案:

答案 0 :(得分:0)

创建临时目录,在那里移动匹配的文件,删除剩余的所有内容,然后将其移回。由于在同一驱动器上移动不需要复制,因此速度很快。

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

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