Javascript nodejs:标识文件克隆

Javascript nodejs:标识文件克隆,javascript,node.js,file,Javascript,Node.js,File,如何识别javascript中的两个文件是否相同(nodejs),一个文件只是另一个文件的重命名副本 用例:我正在尝试编写一个脚本,用于同步HDD(hdd1)及其克隆(hdd2)。仅95%的视频文件(大小:~1 GB,计数:~4000)。有时我会重命名hdd1中的文件,并将它们移动到不同的文件夹中。因此,在同步时,我不想像mscdex提到的那样删除和重新复制hdd1到hdd2,我只想重命名和移动hdd2中的文件(已识别的文件),以匹配其在hdd1中的位置,可能已经有一个工具可以完成您所需的工作(

如何识别javascript中的两个文件是否相同(
nodejs
),一个文件只是另一个文件的重命名副本


用例:我正在尝试编写一个脚本,用于同步HDD(hdd1)及其克隆(hdd2)。仅95%的视频文件(大小:~1 GB,计数:~4000)。有时我会重命名
hdd1
中的文件,并将它们移动到不同的文件夹中。因此,在同步时,我不想像mscdex提到的那样删除和重新复制
hdd1
hdd2
,我只想重命名和移动
hdd2
中的文件(已识别的文件),以匹配其在
hdd1

中的位置,可能已经有一个工具可以完成您所需的工作(如rsync)

如果您对从头开始学习更感兴趣,那么您要寻找的是文件的一个或散列。为每个文件生成一个校验和会给您一种文件指纹。然后,您可以使用它与校验和或其他文件进行比较,如果它们相同,校验和也会匹配


js提供了生成校验和的方法。博客文章介绍了其中的一些内容。

rsync或类似的实用程序不能满足您的需要吗?可能是图像文件?您也可以尝试提取视频元数据,并尝试比较+1,但节点的内置加密库主要用于处理字符串,使用phash和fluent ffmpeg等LIB提供了提取媒体文件元数据并将其封送到节点数据类型的简单接口。虽然我同意使用现有媒体特定库来实现OPs目标更有意义,但我认为你说加密库是为处理字符串而设计的说法是不对的。Node的加密方法使用流,这意味着它们主要用于处理流。这是真的,我的错。