Як встановити чергу на кілька файлів для копіювання на Mac?


15

Коли я копіюю декілька файлів на Mac, система намагається скопіювати їх одночасно. Проблема двояка.

Перш за все, коли ви вибираєте декілька файлів і копіюєте їх, всі вони йдуть в один процес із підходом «все або нічого», не на відміну від ACID у базах даних. Часто це не бажано.

Далі, додаючи інші процеси копіювання, система намагається скопіювати все одночасно.

Наприклад, я вирішу скопіювати великий файл A, потім пізніше вирішу скопіювати також великий файл B. Це призводить до двох паралельних операцій копіювання, незалежно від того, чи є одним із "великих файлів" також вибір багатьох файлів.

Мені це не подобається з кількох причин:

  • Коли декілька процесів копіювання запускаються одразу, це, здається, зменшує інші процеси.
  • Крім того, коли одночасно копіюється кілька файлів, сам процес копіювання, здається, йде набагато повільніше.
  • І нарешті, якщо процес перервано, жоден із файлів не досягне свого призначення.
  • Додаючи файл до черги, він також почне копіювати одразу, і процес ще більше зачарує.
  • Це справжня проблема під час копіювання на інші машини чи диски в (локальній) мережі.

Результат: Файл A, який я хотів передати та використовувати спочатку, потребує набагато більше часу, ніж це потрібно, і при копіюванні з центрального HD в локальній мережі я не можу використовувати перший файл, поки всі інші файли також не надійдуть.

Таким чином ... Як мені встановити чергу декількох файлів для копіювання на Mac? Для уточнення: Незалежно від того, чи багато файлів вибрано, або вони додаються один за одним, я хочу, щоб вони всі були поставлені в чергу, яка копіює лише один файл за один раз, доки черга не буде виконана.

Відповіді в Bash і особливо Perl також вітаються!


Я справді не розумію питання. Частково здається, що ви починаєте відразу кілька незалежних операцій з копіюванням, а потім знову, ви не ...? Ви спробували скопіювати всі відповідні файли як частину однієї операції копіювання, наприклад, вибравши їх усі та перетягнувши до місця призначення; або вибравши їх, Cmd-Cто Cmd-Vв пункті призначення?
Даніель Бек

@Daniel Я намагався уточнити питання - це проблема, з якою я зіткнувся і сам: йдеться про запуск незалежних копіювальних операцій. Рішенням буде черга, куди ви можете просто розмістити файли, які потрібно скопіювати, а завдання будуть оброблятися послідовно.
slhck

@slhck Як, нарешті, якщо процес перервано, жоден із файлів, що дійшли до призначення, не застосовується до незалежних операцій? Що я не можу використовувати перший файл, поки всі інші файли також не надійдуть. означає?
Даніель Бек

1
Це також проблема під час вибору багатьох файлів та їх копіювання. Усі файли складають один процес, коли файли в ньому неможливо встановити в чергу. Це ІМХО також погано. Тим не менш, я також хотів би додати файли до черги.
Кебман

Вони насправді копіюються одна за одною. Ви маєте на увазі порядок їх копіювання по суті випадковий?
Даніель Бек

Відповіді:


8

UltraCopier

UltraCopier - це безкоштовна утиліта для копіювання між платформами, яка наразі розробляється, тому вона ще не така акуратна та відшліфована. Після того, як ви встановите його, він розміститься у рядку меню.

Він управляє списком копій, який дозволяє чергувати копіювати чи переміщувати завдання, які потім послідовно обробляються. Ви також можете визначити пріоритет процесу копіювання, а також розмір блоку передачі.

З новою версією ви можете згрупуватися з подібним джерелом та / або пунктом призначення, або просто завжди або ніколи.

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


Приємно! Використовуючи! Працює ідеально! Насправді шукав XCode, какао та ціль C, що розглядав можливість написання власної програми.
Кебман

4

Ось баш-рішення:

cp file1 dest1; cp file2 dest2

Повторіть це, коли-небудь скільки файлів ви хочете скопіювати. Просто продовжуйте додавати крапки з комою та cpкомандами.

Ви також можете зробити

cp file1 dest1 && cp file2 dest2

У цьому прикладі файл буде скопійовано лише у тому випадку, коли той, який раніше був успішно скопійований.

Для папки ви можете зробити щось подібне:

for x in folder/*; do echo "Copying $x"; cp "$x" destdir; done

Але коли ви намагаєтесь скопіювати цілу папку таким чином, вона знову трактується як один процес, що не бажано. Я також хочу, щоб кожен файл у теці стояв у черзі.
Кебман

1
@Kebman: Перегляньте останню редакцію.
Wuffers

2
Будьте в курсі файлів з пробілами та символів, що підключаються до forпідходу. Я б, мабуть, зробив це з find -print0трубою, xargs -0щоб бути в безпеці.
slhck

2

Шлях Finder 6 виглядає простіше в навігації, ніж ультракопіювач, і, безумовно, створює чітку підказку, плюс у ньому є більше варіантів. Існує також 30-денний пробний процес для цього.

Але я використовую це професійно, тому я кажу, що це абсолютно варте того.

Операції з файлами в Шлях пошуку 6 (відео YouTube)


1
Я шукав безкоштовне рішення, але "Шлях пошуку", як відомо, є хорошим додатком. Насправді я думаю, що прикро, що Finder настільки спрощений, що вам потрібно стороннє додаток, якщо ви хочете зробити що-небудь напівдосконале.
Кебман

2

Альтернативний Finder Path Finder включає функцію черги копіювання з версії 6.

Черга на передачу файлів

Отримайте доступ до поточних операцій з файлом або з елемента панелі інструментів, або з окремого об'єднаного вікна.


2

Окрім деяких інших менеджерів копій у цій темі, ви можете подивитися на ForkLift: http://www.binarynights.com/forklift/

Плюси:

  • Увімкнення / вимкнення черги,
  • FTP + SFTP + Amazon S3 + WEBDav,
  • Купа зручних інструментів синхронізації, спрямованих на розробників.

Мінуси:

  • Оплачено (хоча на момент написання в App Store є спеціальний, але ...),
  • У версії App Store відсутні функції (о пісочниці).

0

Плануйте те, що ви хочете рухати

  • Створіть псевдоніми папок у джерелі
  • Перемістіть псевдоніми до цільової папки

Створіть сценарій, який знаходить псевдоніми та замініть їх на походження (переміщення)

Запустіть сценарій і лягайте спати.


Привіт, ласкаво просимо на superuser.com. Ви публікуєте, що читає швидше як дискусію, ніж як відповідь. Не забувайте, що це не дискусійний форум, і спробуйте відповісти на поставлене запитання. Дякую! Можливо, ви могли б відредагувати свою відповідь, щоб зробити її більш тематичною.
sleske

Я не хочу планувати. Мені просто хочеться встановити в чергу файли і перенести їх по одному, не замислюючись. Створення псевдонімів зайве, якщо ви вже використовуєте сценарій. Крім того, якби я знав, як зробити сценарій, я б вже його склав. Чи є у вас приклад сценарію, який підтримує чергування файлів ?
Кебман

Помістіть вихідні виправлення та цільові виправлення в текстовий файл "queue.txt", розділений роздільником, як труба | Приклад рядка / foo / bar / source | / target. Потім котяча черга.txt | поки читаємо l; do src = "$ (відлуння" $ l "| awk -F" | "'{print $ 1}')"; dst = "$ (відлуння" $ l "| awk -F" | "'{print $ 2}')"; ехо "Копіювання з $ src TO $ dst"; cp -r "$ src" "$ dst"; зроблено. Це дуже грубий приклад. Я б не радив вам грати на сценарії просто так, є безліч підводних каменів. У будь-якому випадку, якщо ви коли-небудь спробуєте, почніть з цього читання: devblog.virtage.com/2013/01/…
Рамкам

0

У мене виникла та сама проблема, і я знайшов додаток у магазині додатків під назвою "CopyQueue".

https://itunes.apple.com/gb/app/copyqueue/id711074010?mt=12

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.