Как я могу копировать файлы и перезаписывать только, если размер файла отличается?

12

То, что я ищу, - это то, что без проблем работает в графическом интерфейсе Windows, а не утилита командной строки, такая как robocopy. Я делаю много маленьких копий / вставок различных файлов, и я бы хотел, чтобы окна просто всегда перезаписывали, если размер файла отличается, а если размер файла идентичен, то он ничего не делает. Это можно сделать?

CreeDorofl
источник
На вашем месте я бы использовал временную метку, а не размер файла (если у вас нет явной причины использовать последнюю).
Прорыв
@ Прорыв, который имеет смысл, если инструмент позволяет мне делать то или иное, я буду счастлив.
CreeDorofl
@CreeDorofl Я бы изменил ваш вопрос, чтобы использовать метки времени - это, скорее всего, почему вы получили отрицательные голоса. Не полагайтесь на размеры файлов или содержимое файлов, чтобы быть согласованными - никогда .
Прорыв
1
Вы пытались не сравнить? Он может быть использован для сравнения файлов и папок на основе практически любых критериев.
Джеймс Вулфенден
@James Woolfenden У меня нет, но это звучит немного иначе, чем я надеюсь. В идеальном мире нет сторонней программы, которую мне нужно запускать ... Я просто перетаскиваю кучу файлов в папку, и Windows перезаписывает, если размер / метка времени отличаются, не раздражая меня ... Или, в худшем случае, диалог, который представляет обычные опции перезаписи, плюс еще один: «перезаписать только, если отметка времени / размер файла отличается».
CreeDorofl

Ответы:

5

Вы можете использовать TeraCopy, если хотите, тогда просто настройте параметры. Кроме того, он также спрашивает вас, что делать, если во время операции копирования файла существуют конфликты имен файлов (так что вы можете решать их в индивидуальном порядке). Кроме того, если обнаружен конфликт, вы можете выбрать, что делать в каждом отдельном файле или для всей очереди передачи.

TeraCopy также интегрируется с оболочкой Windows, чтобы заменить операцию копирования и вставки по умолчанию своим собственным интерфейсом.

ПРИМЕЧАНИЕ. По состоянию на сентябрь 2014 года TeraCopy работает только в Windows или на устройствах Android (смартфоны и планшеты), которые имеют режим Mass Storage Mode (Android Gingerbread и ранние версии Ice Cream Sandwich). Более новые устройства, использующие Android v4.2 Jelly Bean или более позднюю версию, имеют режим MTP только для передачи файлов, и TeraCopy не может «видеть» устройства, которые используют режим MTP для передачи файлов.

soandos
источник
Я помню, как пробовал Teracopy раньше, по какой-то причине я отменил его, но я готов попробовать еще раз, если он позволит мне это сделать. Спасибо за предложение.
CreeDorofl
@CreeDorofl это делает, и вы также можете использовать пакетный файл с ним, чтобы делать то, что вы хотите. Вы также можете делать то, что вы хотите, в каждом конкретном случае (он спросит вас, что делать для всего пакета или только для этого файла, когда вы пытаетесь заменить файлы). ИМХО, TeraCopy - лучший инструмент замены файлового менеджера.
Прорыв
Есть ли другой хороший инструмент, кроме TeraCopy?
avirk
1
Я установил TeraCopy, но нет возможности фильтровать по размеру файла ?! Существует только одно время файла, и это бесполезно, если у вас много изображений с разных камер, которые используют одинаковые имена файлов. Нужна ли версия Pro для этого фильтра?
mgutt
2
Мне кажется, что TeraCopy имеет только «если старше», а не «если размер файла отличается» - это правильно? В некоторых случаях последний вариант предпочтительнее: возможно, для завершения ранее незаконченного копирования, или когда вы знаете, что источником является последняя версия, даже если цель была (возможно, ошибочно) отредактирована позднее.
Грег Заал
3

rsync также можно использовать в Windows, и это немного более гибкий инструмент - у него есть параметры командной строки для сравнения только временных отметок, но он также обеспечивает ускорение spme в операциях с ограниченной пропускной способностью, таких как копирование по сети или на медленный диск (скорость записи) , поскольку он может ограничиться передачей измененных частей.

Стефания
источник
3

KDiff3

KDiff3 - это программа, которая:

  • сравнивает или объединяет два или три файла ввода текста или каталоги,
  • показывает различия строка за строкой и символ за символом (!),
  • обеспечивает автоматическое объединение объектов и
  • интегрированный редактор для удобного решения конфликтов слияния,
  • поддерживает Unicode, UTF-8 и другие кодеки, автоопределение через метку порядка байтов "BOM"
  • поддерживает KIO на KDE (позволяет получить доступ к ftp, sftp, fish, smb и т. д.),
  • Печать различий,
  • Ручное выравнивание линий,
  • Автоматическое объединение истории контроля версий ($ Log $),
  • и имеет интуитивно понятный графический интерфейс пользователя.
  • Интеграция с Windows-Explorer Diff-Ext-for-KDiff3 - расширение оболочки, включенное в установщик (изначально Сергей Зорин: см. Также Diff Ext)
  • Плагин сервисного меню KDE-Konqueror
  • Упрощенная интеграция с IBM-Rational-Clearcase для Windows

введите описание изображения здесь

goweon
источник
3
Как обстоят дела с интеграцией в Windows Explorer? Я хотел бы просто перетащить и иметь окна не всплывают какие-либо диалоги.
CreeDorofl
Пожалуйста, расширьте этот ответ. Ссылка только ответы могут быть удалены.
Soandos
2

Я знаю, что это было довольно давно, но я только нашел бесплатный инструмент, который может точно выполнить требуемую задачу. Инструмент командной строки, XXCOPY от Pixelab http://www.xxcopy.com/

В моем собственном сценарии я повторно сжал сотни изображений JPEG с помощью опции qscale в FFmpeg, и я искал способ перезаписать только меньшие файлы. Я попробовал это, и это сработало со мной. Я проверил, создав резервную копию, а затем сравнил размеры папок. Одинаковое количество файлов для обеих папок, но другой теперь меньше.

Оригинальный вопрос и ответ здесь:

перезаписывать только файлы меньшего размера https://groups.google.com/forum/#!topic/alt.msdos.batch.nt/Agooyf23kFw

Удивительно, но это также включало решение проблемы Аскера. Вот часть ответа автора XXCOPY:

Не могли бы вы дать мне подсказку?

Моя проблема: я получил несколько файлов в каталоге, некоторые в подкаталоге и хочу скопировать файлы в подкаталог. Реальная проблема заключается в том, что следует перезаписывать только файлы меньшего размера.

Вы можете попробовать XXCOPY (бесплатное программное обеспечение для личного использования). Вероятно, вам нужна команда:

xxcopy \your_source\  \destination\   /s /bzs /y

Существуют и другие варианты операций резервного копирования.

  /BI  // backup incremental (skip files of same size and time)
  /BN  // backup newer files only
  /BO  // backup older files only
  /BX  // backup files with a different timestamp
  /BZS // backup smaller files only
  /BZL // backup larger files only
  /BZX // backup files with different size
  /BZE // backup files with the same size
  /BS  // backup files with same size and timestamp

Он также имеет универсальную функцию исключения. Вы можете применить тот же механизм выбора файлов в операциях удаления. Другое преимущество перед Xcopy заключается в том, что XXCopy ведет себя одинаково в любых версиях Windows (95,98, ME, NT / 2K / XP).

Поэтому я полагаю, что Аскеру понадобится / BZX .

Wankilya
источник
спасибо за предложение ... я в конечном итоге использовал теракопию, это было очень полезно ... но всегда хорошо иметь другие варианты.
CreeDorofl
0

Столкнулся с этим вопросом, пытаясь найти способ копировать только новые файлы (в отличие от требований к размеру файла, которые есть у OP). Размещение этого решения здесь, так как это сработало для меня.

Я использую Beyond Compare для этого. При сравнении двух папок щелкните правой кнопкой мыши по обе стороны и выберите Synchronize> Update Rightили Update Left. Это позаботится о копировании только тех файлов, которые новее.

Beyond Compare является платным программным обеспечением, но оно доступно бесплатно для ознакомления в течение 30 дней.

Нихил Гиррай
источник
-1

попробуйте допус http://gpsoft.com.au/

Подтвердите Заменить

см. объяснение здесь http://www.pretentiousname.com/opus/bf2.html ( Ctrl+ Fкопия)

другие варианты здесь http://gpsoft.com.au/help/opus10/default.htm#!Documents/Prefs/Copy_Options.htm и здесь http://gpsoft.com.au/help/opus10/default.htm#! Документы / Drag_and_drop.htm

Это очень мощный файловый менеджер, за который вы должны заплатить (вы можете попробовать его в течение 60 дней)

Это может сделать то, что вы просили легко и больше! Зависит от ваших технических способностей.

Виджай
источник