【发布时间】:2021-09-18 03:05:20
【问题描述】:
我们的编程档案包含大量 PLC 程序(数千个文件)
正在重建我们的备份结构,并希望过滤掉一些垃圾。制作了一个批处理文件以删除所有包含扩展名为 .acd 的 BAK 的文件夹、所有具有 .SEM 和 .WRK 的文件,因为这三个是打开程序时创建的额外文件,不需要。有些已被复制到档案中并重复了很多次。
我在文件夹的副本上对其进行了测试,并希望在将结构复制到其他备份系统之前定期运行它,以防止备份再次变得混乱。
这是我使用的脚本:
del /q /s "Y:\Bays\*BAK*.acd"
del /q /s "Y:\Bays\*.Sem*"
del /q /s "Y:\Bays\*.Wrk*"
它删除了数以千计的文件,但在我观察的过程中,我注意到其中三个对我来说没有意义。
查看中间两个被删除的文件:
“带有电子邮件”文件:
这三个已被删除,但名称中不包含 BAK。如果它会冒险删除不是自动生成的程序的任何副本,我不想定期运行它。只是希望有人能够解释为什么这三个是数千个已删除文件中唯一不遵守规则的。
【问题讨论】:
-
输入
dir /S /X "Y:\Bays\*BAK*.acd" | findstr /I "BAK[^\\]*\.acd$"并发布输出;也许 8.3 的短文件名与指定的模式匹配……
标签: string batch-file delete-file plc