如何检查文件夹中是否存在重复文件,而不使用glob / listdir / etc。比较文件名??

我有一个包含多个图像的文件夹,目录结构如下:

./images/
./images/1.png
./images/2.png
./images/3.png
./images/4.png
./images/{n}.png

这些图像已通过update.js脚本使用requestfs模块下载和保存。

每个文件都以文件夹中项目的长度( IE:长度+ 1)命名。

update.js脚本下载(并保存)每个图像,而不管其是否存在。

我可以通过删除images文件夹来解决此问题,但这是浪费资源。

防止这种行为的最有效方法是什么?

注意:我不能使用简单的文件名检查,因为名称是索引。

谢谢。

kutianoo 回答:如何检查文件夹中是否存在重复文件,而不使用glob / listdir / etc。比较文件名??

您可以为每个文件发出HTTP头请求并获取其头。然后,您可以查看目标文件的大小,并在大小完全匹配的情况下避免重新下载它。

这并不理想,因为不同的文件可能具有相同的大小。

某些服务器为您提供内容md5,这可能是最好的。除非您的用例非常大,否则md5不太可能在您拥有的任何两个文件之间匹配。

尽管可以通过修复脚本来获得更好的服务,但是它可以存储适当的元数据,所有这些都是很麻烦的:)。您可以将真实文件名和修改后的时间戳记作为另一个文件存储在同级目录中,并确定它不会影响任何内容。然后,您可以在下载之前检查一下这些内容。

本文链接:https://www.f2er.com/3085597.html

大家都在问