2

Хорошо, я загрузил 5 изображений в Dropbox, и они прямо с камеры.

В другой стране мой друг с мусорным Интернетом (который получил компакт-диск с изображениями) скопировал изображения в папку на своем рабочем столе и начал сортировать изображения; то есть удаление плохих / ненужных изображений. Я не могу попросить его загрузить 5 гигабайт в МОЮ личную учетную запись Dropbox, когда мне потребовалась неделя, чтобы загрузить мой быстрый интернет.

Есть ли какое-нибудь программное обеспечение, которое я могу запустить на своем ПК с Windows 8, чтобы взять список имен файлов (каталог рекурсивный, так как я дал его ему, отсортированному в отдельных папках для каждого события); который при последующем запуске на моем Snow Leopard MacBook сможет увидеть, какие изображения были удалены на компьютере моего друга; а затем удалите их на моей стороне.

Если такой программы не существует, какую среду я могу использовать для ее программирования (я занимаюсь разработкой на Mac)? А какие советы ты бы мне дал?

2 ответа2

1

Этот ответ заимствует из пары комментариев.  Пусть ваш друг сбежит

dir /b/s/a-d > dir.out

Ты бежишь

find . -print > find.out

Нормализуйте dir.out и find.out:

  • Сделайте окончание строк равномерным (например, NL или CRLF),
  • Удалить общие префиксы (C:\Users\… и ./),
  • Измените обратную косую черту (\) на косую черту (/) в dir.out и
  • Сортировать оба файла.

Сейчас делаю

comm dir.out find.out

(Вы можете хотеть передать это в пейджер, такой как more или less .)  Вывод будет состоять из трех столбцов:

  1. Записи (имена файлов) присутствуют только в первом файле (dir.out).  Там не должно быть никакого; если есть, ваш друг включил файл, который он не получил от вас, или вы не полностью нормализовали файлы.  (OK, в зависимости от того, как именно ваш друг сделал свою команду dir сам dir.out файл может отображаться в колонке 1)
  2. Записи присутствуют только во втором файле (find.out).  Это имена файлов, которые у вас есть в вашей системе, но ваш друг не перечислил.  Другими словами, это файлы, которые вы хотите удалить.
  3. Записи присутствуют в обоих файлах.  Это должно быть так же, как dir.out .

Если есть ложные отрицания из-за несоответствия регистра ('A' ≠ 'a'), попробуйте команду comm снова с опцией -f .  Скорее всего, вам придется повторить sort с параметром -f .

Теперь введите comm -13 dir.out find.out .  Этот невероятно поврежденный синтаксис означает «дать мне все нормальные выходные данные, кроме столбцов 1 и 3», другими словами, только выходные столбцы 2.  Как указано выше, это список файлов, которые вы хотите удалить, поэтому отправьте его в xargs rm или что-то в этом роде.


Я предполагаю, что в ваших именах файлов нет диких и сумасшедших символов (таких как пробел, кавычки, '*', '?', '<', '|' И т.д.).  (Это не должно быть проблемой; камеры, как правило, используют имена файлов, например «DSCN1234.JPG»).

0

Вы можете осуществить это с помощью GoodSync Connect (не аффилированного). Пользоваться этой функцией стоит, но есть 30-дневная пробная версия, в течение которой она работает в бесплатной версии.

  1. Вы устанавливаете GoodSync с обеих сторон (есть версии для Mac, Windows и Linux).
  2. Вы устанавливаете GoodSync Connect, который устанавливает прямую ссылку, по которой информация о каталогах передается через посредник, но не сами файлы.
  3. На вашей стороне вы создали задание синхронизации.
  4. Выберите папку Dropbox с фотографиями.
  5. Ваш друг копирует файлы с DVD в каталог. Выберите эту папку через GoodSync Connect.
  6. Вы выбираете опцию «Анализ» в задании синхронизации. GS теперь устанавливает, что обе папки одинаковы. Это создает файл сравнения ссылок с обеих сторон. (Важный!)
  7. Затем ваш друг удаляет фотографии, которые он не хочет. (Или, если он уже сделал это, он удаляет содержимое папки, в которой он хранит все изображения, за исключением папки _gsdata. Он помещает туда измененные папки.)
  8. Выполните анализ, который покажет вам предварительный просмотр.
  9. Если все в порядке, синхронизируйте. GoodSync сделает свое волшебство.

Заметки:

  • GoodSync будет обнаруживать перемещения файлов и папок и переименовывать их и должен работать без сбоев. Поэтому он не будет пытаться переместить файлы. (Если содержимое файла не было изменено. Но именно поэтому вы сначала анализируете!)
  • GoodSync удалит те файлы, которые удалил ваш друг. Они будут в корзине.
  • Да, и сделайте резервную копию до этого. Да серьезно. Или попробуйте это локально.
  • И если вы не доверяете своему другу, отключите сервер GoodSync Connect после того, как закончите. В противном случае ваш друг увидит все ваши файлы. (Возможно, есть способ обойти это, но я еще не нашел его.)

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