日期:2014-05-17  浏览次数:20758 次

请问批处理中的通配符有像正则中的a|b|c这样的功能吗
我有一个文件夹,假设是D:\abc,现在我想把里面指定几个后缀的文件全部删除.假如要删除 *.txt *.exe *.doc 这三个后缀的文件.
目前我能想到的方法就是用
del /s d:\abc\*.txt
del /s d:\abc\*.exe
del /s d:\abc\*.doc

但是我的这个文件夹里面有里面有非常多的文件,如果用上面的命令就要遍历三次,这样每次都会占用大量时间.

我想写到一个命令里,只遍历一次目录,类似于del /s d:\abc\(*.txt|*.exe|*.doc)这样(假如可以这样的话).
批处理有没有什么办法能实现呢?




------解决方案--------------------
for /f "delims=" %%i in ('dir /a/b/s *.txt *.exe *.doc') do echo del "%%~i"
 大概就是这个样子吧,你自己看看。