在进行备份和对数据表执行维护之前,我经常尝试清理ERP程序的一些数据文件夹。我一直在使用Windows资源管理器在完全备份之前搜索无关的备份和临时文件(维护过程在此过程中创建备份文件并不总是被删除),但我想通过一个完整的方式运行它批处理文件,以简化和加快过程。我正在使用以下内容过滤:
* NGT ????????????。老
* * WRK ????????????。M4T
另外,我正在使用的命令:
del / S / Q
这两种方法都可以完美地通过资源管理器中的搜索功能。第一个在命令提示符下正常工作,但第二个没有。这一系列的?由ERP软件创建,作为时间戳,表示当时创建的原件的副本。第二个*表示一个或两个字符的用户ID,表示创建该文件的用户(除了字符长度不总是相同之外,它并不是那么重要)。当我尝试使用第二个过滤器在命令提示符中进行过滤时,它不仅会抓取我想要的文件,还会抓取原始源文件 DO NOT 上有时间戳。例如,以下文件名:
文件1)AR_AgedInvoiceReportWrk.M4T
文件2)AR_AgedInvoiceReportWrkTB081615903027.M4T
文件2是唯一应删除的文件,但它会删除文件1和文件2.我甚至尝试使用两个或三个?而不是第二个*只是为了查看是否会出现差异,但事实并非如此。
命令提示符是否无法识别?资源管理器的方式?我错过了什么?
答案 0 :(得分:2)
DIR,似乎其他工具匹配短文件名和长文件名。您的短文件名以wrk
为主要字符,然后您匹配任意字符的整个字符。
解决方案是使用类似DIR /b /a-d
的内容并通过findstr
使用regexp进行管道传输,并且只匹配长文件名。