Как объединить (а не заменить) папки при копировании на Mac?


54

Есть похожий вопрос по поводу окон . Это то же самое, но для Mac. Кстати, это не странно , нет никакого вопроса об этом еще, так как кажется, что это самый ненавистный вещь на Mac OS X .

Если я пытаюсь скопировать или переместить папку туда, где она уже существует, она попросит заменить ее. Это приведет к удалению цели. Скорее хочу слиться .

Уже есть запрос aquataskforce по этому поводу, и уже долгое время обсуждается вопрос о том, должно ли это существовать на Mac из-за всей его философии. Дискуссии в Apple устарели и не сильно помогли.

Как обычно, для этого есть профессиональные решения, такие как Changes и Araxis . И есть альтернативы rsync или командной строки. Но я хочу бесплатное и простое решение, что-то вроде того, как это делается в Windows или Linux. Я не буду делать это много в любом случае. Кстати, у PathFinder такой опции тоже нет, и FolderMerge не работает на Snow Leopard, насколько мне показался мой 1 тест.

Предложения, для которых может быть предложено решение:

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

Ответы:


6

Попробуйте MacUpdate , Softpedia и Brothersoft . Поиск папки слияния.

Слияние папок

Маленькая программная утилита, которая объединит содержимое папки

По умолчанию OSX не объединяет содержимое папки, так что это простой графический инструмент для этого.

Если вы просто хотите объединить файлы, расположенные в двух отдельных папках, вы можете легко сделать это с помощью функции слияния папок.


унисон

Это бесплатно

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


1
Как дополнение, SyncTwoFolders выглядит довольно хорошо: superuser.com/questions/206041/mac-software-to-merge-folders/…
cregox

57

В терминале введите :ditto from_folder destination_folder

Пример:

ditto ~/Desktop/SomeFolder ~/Desktop/SomeOtherFolder

Непогрешимый.


3
Было бы достаточно легко включить это в сценарий автоматизатора, чтобы он был доступен через графический интерфейс Finder.
2010 г.

1
Обратите внимание, что dittoпереопределяет файл в месте назначения, если он имеет то же имя. Даже если файл назначения новее.
publicJorn

30

Удерживая нажатой Optionклавишу в Mac OS X, Lion дает вам возможность «Сохранить оба», которая затем объединяет две папки.

Это была одна из новых функций Mac OS X 10.7 Lion.


2
Не нужно удерживать опцию, чтобы получить подсказку, но она все же лучше, чем другие решения, учитывая, что она встроенная. Спасибо за добавление этого здесь!
чистое слияние

1
К сожалению, нажатие клавиши «Option» приведет к копированию вместо перемещения файлов.
Эптин

@Eptin: удерживайте нажатой только Option после того, как появится диалоговое окно с вопросом, какие действия предпринять в случае коллизии имен.
Даниэль Бек

1
Это мое воображение или эта опция больше не доступна в Mavericks?
Джонатан ван Клют

@JonathanvanClute, кажется, опция «Объединить» доступна при копировании папки. Пока что, я думаю, лучшее решение - это скопировать / объединить папки, а затем удалить оригинал (не похоже на решение Apple, но все еще работает ...)
tyron

14

Я сторонник полноценной поддержки слияния-замены-пропуска в Finder, без вопросов. На самом деле, обескураживает то, что философия Apple, основанная на простоте, на самом деле приводит к большему количеству движений мыши, большему количеству щелчков и большему количеству шагов для выполнения того, что кажется простым. И ясно, что люди хотят видеть такие изменения (среди многих других) в Finder, особенно. Snow Leopard сделал несколько шагов к FTFF с переписью Cocoa.

Благодаря этому переписыванию Cocoa, Bliss получила возможность расширять / взламывать Finder в Snow Leopard с помощью плагинов благодаря SIMBL , который предоставляет средства для взлома / обратного инжиниринга приложений на основе какао . Поэтому я полагаю, что это вопрос времени, пока кто-то не расширит Finder, чтобы поддержать его более естественным образом. Несмотря на это, Apple по-прежнему виновата в недостатках Finder, и они должны скоро смириться и просто исправить Freakin 'Finder, раз и навсегда! (Я имею в виду, что это настолько важно для ОС, что вы думаете, что они уже сделали бы это.) </ Rant>

Тем временем вы можете обмануть Transmit, используя возможности слияния с вашими локальными файлами: http://andrew.hedges.name/blog/2007/01/16/merge-folders-with-transmit


1
Передача камней.
Джош К

Это то, что я мог бы попробовать позже, если не появится ничего лучшего. : P
cregox

Это не давало мне покоя, поэтому я искал и искал, пока не обнаружил упоминание о расширяемости Snow Leopard, о котором я упоминал выше. И хотя Apple проложила путь для плагинов / расширений Finder, переписав Finder в Какао, природа подключаемых модулей на самом деле исходит не от Apple напрямую, а от небольшого драгоценного камня под названием SIMBL (Simple Bundle Loader, en.wikipedia.org/wiki/SIMBL). )
purefusion

Короче говоря, он позволяет хаки и плагины для приложений на основе какао. Ака какао взлома! ... Подробнее об этом "загрузчике расширений приложений" можно найти здесь: culater.net/software/SIMBL/SIMBL.php ... Уже существует несколько плагинов (и их число растет): code.google.com / p / simbl / wiki / SIMBLPlugins (и, конечно, для любых расширений Finder требуется Snow Leopard).
purefusion

1
Кстати, плагин, с которым я столкнулся в оригинале и который привел меня к SIMBL, назывался TotalFinder, и он исправляет множество неприятных неприятностей в Finder (FTFF FTW!). Среди прочего, он добавляет в Finder опции поддержки: глобальное сочетание клавиш (горячие клавиши), просмотр файлов с вкладками, двойная панель и папки сверху! Проверьте это: totalfinder.binaryage.com ... (Может быть, мы могли бы заставить этих ребят сами добавить поддержку слияния?)
purefusion

8

Я автор TotalFinder SIMBL.

Я думаю, что вместо «копировать» большая проблема в Finder. Я лично знаю двух людей, которые потеряли данные из-за этой «особенности».

С другой стороны, я понимаю, почему он разработан таким образом. Я думаю, причина в перемещении пакетов приложений. Пакет приложений - это не что иное, как папка. Когда вы перетаскиваете обновление приложения в папку «Приложения», вы хотите полностью заменить старый пакет приложения, не оставляя старых файлов (представьте, что автор какого-то приложения проверяет наличие некоторых файлов в подпапке «Ресурсы» своего пакета).

Итак, Finder удаляет предыдущую папку. Но неправильное поведение заключается в том, что он не помещает его в корзину. Он удаляет его навсегда, что действительно печально и неожиданно.


По состоянию на TotalFinder изменение этого поведения. Нелегко настроить этот процесс из SIMBL. Я думаю о замене всей функции копирования / перемещения в Finder своей собственной. Это позволило бы мне сделать несколько запрошенных функций одновременно:

  1. вырезать и вставить
  2. лучше копировать диалоги прогресса (как в PathFinder)
  3. реализовать копирование поверх семантики

Проблема здесь в том, что это много работы с неопределенными результатами.


В то же время вы должны использовать Terminal.app с cp -r source/folder destination/folder


Добавьте меня в качестве третьего лица, которое потеряло данные из-за этого. К счастью, данные были не важны, но тем не менее это раздражало. - Конечно, если бы я правильно прочитал сообщение, этого бы не случилось. Но я не поверил, когда нашедший даже не поместил удаленный каталог в мусорное ведро. FTFF Apple!
Брайан

Отличная работа над TotalFinder, надо сказать! Я благодарен Apple за какао, если вы нашли Finder, чтобы вы могли сделать свой шедевр. Иногда меня огорчают за то, что я «устойчив к переменам», но вырос на Mac, а не на ПК. Apple отказывается от изменений, и я цитирую Стива, «потому что нам нравится поведение Finder»
purefusion

Минимум, что они могли сделать, это сделать его более настраиваемым (и эй, MS тоже виновата, но не на том же уровне). Потратив время на то, чтобы решить проблему самостоятельно, даже с помощью хаков, Mac станет более терпимым, поэтому я очень уважаю вас за это. Между тем, тратить больше времени на решение слияния - непростая задача, потому что в этот момент вы имеете дело с данными пользователей, к которым вы хотите подойти очень осторожно и с большим количеством тестирования. Я бы не хотел быть одним из неудачников недавней ошибки потери данных Snow Leopard.
purefusion

В связи с этим ваше «временное» решение по-прежнему остается лучшим. По крайней мере, с моей точки зрения.
Cregox

это не должен быть cp -Rn source / folder dest / folder? Ключ -n означает, что не нужно перезаписывать существующие файлы. И, согласно man-странице cp, здесь нет опции -r (хотя, как ни странно, она все еще работает).
2010 года

3

Здесь было два «пока что» решения, которые я бы не назвал « простыми » ... К счастью, я наткнулся на это :

альтернативный текст

Это называется FileMerge, и его можно найти в / Developer / Application / Utilities, когда вы устанавливаете инструменты разработчика Xcode с компакт-диска Mac OSX или загружаете его с Apple .

Сначала сравниваются две выбранные вами папки, а затем отображаются различия. Затем вы можете выбрать, хотите ли вы объединить файлы в один целевой файл.

Все еще не так просто, как я предлагал, но, по крайней мере, это должен быть лучший «пока» известный вариант, если у вас есть около 1,5 ГБ свободного места для установки. "Cp" трудно поддерживать, и сервер + Transmit не позволит вам сделать это, если он не локальный.

Теперь нам просто нужен способ использовать его без установки XCode ... Я отредактирую позже, если мне удастся это сделать - кажется, что после большого количества поисков в Google нет ничего простого.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.