我有一个程序可以比较两个文件夹中的文件。我想检测文件是否已重命名,确定最新文件(最近重命名),并更新旧文件上的名称以匹配。
为此,我会检查最新文件是否与旧文件完全相同,如果是,只需重命名旧文件以匹配新文件即可。
问题是,我没有什么可以告诉我最近重命名的文件。
我喜欢像 FileInfo.LastModified 这样的属性,但对于已重命名的文件。
我已经研究过 FileSystemWatcher 等解决方案,但这并不是我真正想要的。我希望能够随时运行我的同步器,而不必担心某些专用进程跟踪文件夹的状态。
有什么想法吗?
最佳答案
答:至少在NTFS上,你可以附上 alternate data streams to a file 强>。 在第一次同步时,您只需将 ADS 中的 GUID 附加到源文件以标记它们。
B:如果您没有源的写入权限,请将同步文件的哈希值存储在目标存储库中。当源更改时,您只需对源文件进行哈希处理,并且仅在哈希值发生冲突时才逐位进行比较。根据哈希函数的质量和速度,这将为您节省大量时间。
关于c# - 如何确定文件最近一次重命名的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2314845/