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

Batch file 如何迭代名称与通配符不匹配的文件/目录?,batch-file,cmd,dos,Batch File,Cmd,Dos,在批处理脚本文件中,以下代码成功删除以*开头的文件夹,表示通配符。如何编写一个FOR循环,循环遍历不匹配的文件/文件夹?例如![*abc] REM Remove unwanted files/directories FOR /D /r %%G IN ("local\partialFileName*") DO ( RMDIR /Q /S %%G ) 创建一个临时目录,将匹配的文件移到那里,删除所有剩余的文件,然后将它们移回。由于在同

在批处理脚本文件中,以下代码成功删除以*开头的文件夹,表示通配符。如何编写一个FOR循环,循环遍历不匹配的文件/文件夹?例如![*abc]

REM Remove unwanted files/directories

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

            RMDIR /Q /S %%G                 

)

创建一个临时目录,将匹配的文件移到那里,删除所有剩余的文件,然后将它们移回。由于在同一驱动器上移动不需要拷贝,因此速度会很快

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

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

比方说,它取决于当前情况和regex功能。