如何识别javascript(nodejs
)中两个文件是否相同,一个只是其他文件的重命名副本?
用例:我正在尝试编写用于同步HDD(hdd1)及其克隆(hdd2)的脚本。仅95%的视频文件(大小:~1 GB,计数:~4000)。有时我会重命名hdd1
中的文件并将它们移动到不同的文件夹中。因此,在同步时,我只想重新命名并移动hdd1
中的文件(已识别的文件)以匹配其在{{1}中的位置,而不是从hdd2
到hdd2
的删除和新副本。 }}
答案 0 :(得分:2)
就像mscdex提到的那样,可能已经有一个工具可以满足您的需求(例如rsync)。
如果您对从头开始学习经验感兴趣,那么您所寻找的内容称为checksum或文件的哈希值。为每个文件生成校验和为您提供了一种文件的指纹。然后,您可以使用它来与校验和或其他文件进行比较,如果它们相同,则校验和也将匹配。
Node.js的Crypto library为您提供了生成校验和的方法。 This博客文章介绍了其中一些内容。