ForFiles命令/D参数带+xx无法生效是故障还是设计特性?
问题解答
这是forfiles命令的设计特性,并非Bug,本质是对/D参数的规则理解偏差导致的匹配失败。
forfiles /D参数官方规则说明
/D参数用于按文件修改日期筛选,根据后跟内容的不同,正负号的匹配逻辑存在差异:
- 当后跟具体日期(如
/D 25.10.2021)时:+(默认可省略):匹配修改日期大于等于指定日期的文件-:匹配修改日期小于等于指定日期的文件
- 当后跟纯数字天数时:
/D +N:匹配修改日期大于等于「当前日期 + N天」的文件,也就是未来至少N天后才会修改的文件,正常使用场景下几乎不存在这类文件,因此你使用/D +7时无法匹配到任何1天前修改的文件/D -N:匹配修改日期大于等于「当前日期 - N天」的文件,也就是最近N天内修改的文件,你使用/D -6时1天前修改的文件符合筛选范围,因此运行正常
如果你原本的需求是筛选修改时间超过7天的文件,使用/D -7即可实现对应的筛选效果。
内容的提问来源于stack exchange,提问作者Marco
相关产品推荐
相关产品推荐

