同步软件可以查找文件夹内已移动路径的文件吗?

同步软件可以查找文件夹内已移动路径的文件吗?

假设我在一台计算机上重新组织了一个图片文件夹。我想使用该目录作为基础,并将其与备份驱动器上的另一个版本进行比较。任何同步/比较程序都会发现一个文件夹中的文件已在比较文件夹中移动位置吗?

例如,假设我将旅行照片按年份重新整理到文件夹中,并将旅行文件夹放在每个年份文件夹中。如果我使用常规比较实用程序,我会得到所有移动到不同位置的照片的两个副本。

答案1

我不知道有哪个软件可以检测整个文件夹层次结构中的重命名/移动。那样会相当慢,因为它必须扫描所有文件才能进行比较。

该功能曾被提议作为 rsync 的一个补丁(在 Google 上搜索“rsync detect-renamed”),但显然它从未被 rsync 接受。

rsync 确实有您正在寻找的有限版本:

-y,--模糊

此选项告诉 rsync 它应该为任何缺失的目标文件查找基础文件。当前算法在与目标文件相同的目录中查找具有相同大小和修改时间的文件或名称相似的文件。如果找到,rsync 将使用模糊基础文件来尝试加快传输速度。

但如果在目录之间移动文件,则此方法无效。

也就是说,如果源文件中缺少文件,大多数同步程序都会提供从目标文件中删除文件的选项,因此移动操作应该复制为新建+删除,这需要更多复制,但可以起作用。

如果你只是想比较驱动器,而不是同步它们,您可以编写一个小脚本,列出所有文件及其文件名(可能还有校验和),然后将其导入电子表格或小型数据库。然后您可以按文件名或校验和排序,并直接比较文件列表。这可能是最简单的方法。

答案2

是的,我找到了可以做到这一点的软件,比其他任何软件都好:超级灵活文件同步器

列出以下功能:

检测移动的文件。如果您通过将文件移动到不同位置来重新组织文件夹,超级灵活文件同步器将检测到此情况并快速执行相同的移动,例如在您的笔记本电脑上。没有多余的复制!

答案3

这完全取决于您如何设置同步过程。

大多数同步程序都提供了选项,说明如果文件在源中/不在源中,或在目标中/不在目标中,该如何处理。如果正确设置为完全回显目录,同步程序将删除目标中不在源中的文件,并从源中复制不在目标中或较新的文件。

但是,没有同步程序会检测到文件被重命名,也就是说它不会重命名目标目录中的文件。它只会删除旧名称的文件,然后复制新名称的文件。当然,这会花费更多时间,但同步程序没有人工智能。

话虽如此,我最喜欢的同步产品是免费文件同步(转至页面末尾)。

答案4

尝试Allway 同步,它是免费的,而且您不会得到重复的数据。我也使用它在我的主电脑上备份我的笔记本电脑。

相关内容