我有一个程序比较两个文件夹中的文件。我想检测文件是否已被重命名,确定最新的文件(最近重命名),并更新旧文件中的名称以匹配。如何确定文件最近被重命名的时间?
要做到这一点,我会检查最新的文件是否与旧的文件一点一点地相同,如果是,只需重命名旧文件以匹配新文件。
问题是,我没有任何关键要告诉我哪个文件最近被重命名。
我会喜欢FileInfo.LastModified的一些属性,但对于已被重命名的文件。
我已经看过像FileSystemWatcher这样的解决方案,这并不是我正在寻找的。我希望能够随时运行我的同步器,而不必担心跟踪文件夹状态的某个专用进程。
任何想法?
...当然,将它与'LastModified'结合起来。 – 2010-02-22 23:37:42
我已经在每一端存储了目录的哈希值。逐位匹配数据已经成为可能。我只是希望当移动预先存在的文件在慢速网络上同步时,我可以节省一些带宽。它看起来像没有非NTFS特定的方式来做到这一点。 – 2010-02-23 17:17:59
这也可以在映射的驱动程序(或网络共享)上工作,前提是源卷是NTFS。 如果你还没有找到它,这可能有一些帮助: http://www.codeproject.com/KB/cs/ntfsstreams.aspx – 2010-02-23 22:45:11