batch-file - FORFILES不包括今天的文件不工作

  显示原文与译文双语对照的内容
0 0

在页面上阅读: http://blogs.msdn.com/b/oldnewthing/archive/2012/08/03/10334560.aspx 。

我们看到他讨论了: 使用/D +0和它将使用/D -0不包括创建今天文件的原因。

我正在从事一个网络档案项目,非常接近这一点。


FORFILES/P D:logs/M dump.log*/D -0/C"cmd/c ECHO @file"
FORFILES/P D:logs/M server.log*/D -0/C"cmd/c ECHO @file"

实际上,在使用/D -0或者/D +0时,我得到了相同的结果

时间: 原作者:

0 0

/D 是日期偏移。 通常,它后面是一个负数,指示该命令应在具有最后修改日期小于或者等于指定偏移量的文件上运行。 在极少数情况下,+0 可以用在最后修改日期为今天的文件上。

要在处理时忽略今天的文件,请使用 /D -1 处理所有其他文件。 除非你有未来的档案。

原作者:
0 0

日期选择是


/d +date files with date> = to the indicated date
/d -date files widh date <= to the indicated date
/d +n files with date> = to today-n days
/d -n files with date <= to today-n days

如果选择 date 或者 n的值,那么在选择点的时候会选择 + 或者 - ( 或者在两种情况下都是较旧的或者相等的) 。

因此,要选择除今天更改的所有文件外,/d -1 应该使用。 也就是说,我们选择昨天( 1 )的日期,然后选择所有日期小于或者等于( - )的文件到这个点

/d +0 将选取今天的日期,并选择日期大于或者等于picked日期的文件,所以选择的文件是今天修改的文件。

原作者:
...