Допустим, у меня есть два файла c:\f1\data.txt и c:\f2\data.txt .

Если я дам команду

copy c:\f2\data.txt c:\f1\data\

Я получу предупреждение о возможной перезаписи. Я получу то же предупреждение, что и диалоговое окно, если я попытаюсь графически перетащить data.txt из c:\f2\ и поместить его в c:\f1 . Такое поведение связано с тем, что файлы имеют одинаковое имя (data.txt). Я доволен таким поведением, но хотел бы распространить его и на файлы с разными именами, но с одинаковым содержимым .

Допустим, у меня есть два файла c:\f1\foo.txt и c:\f2\bar.txt и, скажем, foo.txt содержит одну строку Hello World! и bar.txt содержит одну строку Hello World! , так что foo.txt и bar.txt имеют одинаковое содержимое, теперь команда

copy c:\f2\bar.txt c:\f1\

удастся, но я бы хотел, чтобы это не получилось.

Я был бы счастлив иметь такое поведение только для одной папки, есть ли программное обеспечение для достижения моей цели?

2 ответа2

1

Нет программ, которые я мог бы придумать, чтобы сделать это.

Вы можете легко написать скрипт или приложение, чтобы сделать сравнение перед копией и предупредить вас, если они идентичны. Однако... всегда есть предостережение. Как вы делаете сравнение? Поскольку вы имеете дело с текстовыми файлами, данные могут выглядеть одинаково, однако это не так. Возьмите следующие примеры:

Это тест.

а также

Это тест. 

Линии выглядят точно так же. Однако к компьютеру они разные. Возьмите свою мышь, щелкните левой кнопкой мыши и удерживайте, и выделите первый пример. Затем выделите вторую строку. Увидеть разницу? После периода второго примера есть пробел. Эти строки при передаче одной и той же информации не идентичны. Даже разница в один символ, 1 байт, позволит копировать. Если вы согласны с этим, тогда приложение или скрипт очень просты. Я бы порекомендовал просто получить значения хеш-функции двух файлов и сравнить это значение. Если значения совпадают, предупредите и отклоните копию.

0

UltraCompare может делать то, что вы хотите, если вы определите некоторые правила синхронизации, как вы можете видеть здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .