Я не знаю ни одного программного обеспечения, которое обнаруживает переименования / перемещения по всей иерархии папок. Это было бы довольно медленно, так как пришлось бы сканировать все файлы, чтобы сравнить их.
Эта функция была когда-то предложена как патч для rsync (в Google это означает «rsync detect-renamed»), но, очевидно, она никогда не была принята в rsync.
rsync имеет ограниченную версию того, что вы ищете:
-у, - нечеткий
Эта опция сообщает rsync, что он должен искать базовый файл для любого файла назначения, который отсутствует. Текущий алгоритм ищет в том же каталоге, что и файл назначения, либо для файла с идентичным размером и временем изменения, либо для файла с аналогичным именем. Если найдено, rsync использует нечеткий базовый файл, чтобы попытаться ускорить передачу.
Это не будет работать, если вы перемещаете файлы между каталогами, хотя.
Тем не менее, большинство программ синхронизации имеют возможность удалять файлы в месте назначения, если они отсутствуют в источнике, поэтому перемещение должно быть реплицировано как new+delete, что требует больше копирования, но будет работать.
Если вы просто хотите сравнить диски, а не синхронизировать их, вы можете просто написать небольшой скрипт, в котором перечислены все файлы с именами файлов (и, возможно, контрольной суммой), и импортировать его в электронную таблицу или небольшую базу данных. Затем вы можете сортировать по имени файла или контрольной сумме и напрямую сравнивать списки файлов. Это может быть самый простой маршрут.