我有一个实用程序,它处理目录中的一组文件 - 这个过程相对较慢(并且有很多文件)和所以我试图通过仅处理具有晚于最后处理日期的“最后修改”的文件来优化处理。Windows:如何确定一个文件自给定日期以来是否已被修改
通常这个效果很好,但是我发现复制文件不会改变最后修改日期,所以有各种复制文件的过程中会跳过某些被更改的文件的情况,例如:
- 用户在9:00处理目录。
- 的文件,然后从该目录复制和修改,使之具有9:30
- 最后修改日期的目录,然后在10:00
- 修改后的文件再次进行处理,然后复制回在10:30
- 目录最后的目录是在11:00
由于给定文件的修改日期是9点30分再次处理,并且目录在10:00最后处理的是该文件当它不应该跳过时跳过。
不幸的是,在某些情况下(比如在与源代码控制等的协作环境中),上述情况经常发生得太频繁。显然,我的逻辑是有缺陷的 - 我真正需要的是“最后修改或复制”日期。这样的事情存在吗?
如果没有,那么有没有另一种方法来快速判断一个给定的文件是否有变化,并且具有合理的可靠性?
是的,但是这是我的备用解决方案 - 我希望有一种方法可以确定给定的文件是否已更改(具有合理的可靠性),而无需读取文件本身。 – Justin 2010-09-30 06:33:40