Làm cách nào để xếp hàng nhiều tệp để sao chép trên máy Mac?


15

Khi tôi sao chép nhiều tệp trên máy Mac, hệ thống sẽ cố gắng sao chép tất cả chúng cùng một lúc. Vấn đề là hai lần.

Trước hết, khi bạn chọn nhiều tệp và sao chép chúng, tất cả chúng đều đi vào một quy trình với cách tiếp cận "tất cả hoặc không có gì" không giống như ACID trong cơ sở dữ liệu. Thường thì điều này là không mong muốn.

Hơn nữa, khi bạn thêm các quy trình sao chép khác, hệ thống sẽ cố gắng sao chép mọi thứ cùng một lúc.

Ví dụ, tôi quyết định sao chép một tệp lớn A, sau đó tôi cũng quyết định sao chép một tệp lớn B. Điều này dẫn đến hai hoạt động sao chép song song, bất kể một trong những "tệp lớn" cũng là một lựa chọn của nhiều tệp.

Tôi không thích điều này vì nhiều lý do:

  • Khi một số quy trình sao chép chạy cùng một lúc, nó dường như làm hỏng các quy trình khác.
  • Ngoài ra, khi một số tệp được sao chép cùng một lúc, quá trình sao chép dường như chậm hơn nhiều.
  • Và cuối cùng, nếu quá trình bị hủy bỏ, không có tệp nào đến đích.
  • Khi thêm một tệp vào hàng đợi, nó cũng sẽ bắt đầu sao chép cùng một lúc và làm chậm quá trình hơn nữa.
  • Đây là một vấn đề thực sự khi sao chép vào các máy hoặc ổ đĩa khác trên mạng (cục bộ).

Kết quả: Tệp Amà tôi muốn chuyển và sử dụng trước tiên sẽ mất nhiều thời gian hơn đến nơi cần thiết và khi sao chép từ một HD trung tâm trên mạng LAN, tôi không thể sử dụng tệp đầu tiên cho đến khi tất cả các tệp khác cũng đến.

Vì vậy, ... Làm cách nào để xếp hàng nhiều tệp để sao chép trên máy Mac? Để làm rõ: Bất kể nhiều tệp được chọn, hoặc chúng được thêm từng cái một, tôi muốn tất cả chúng được đưa vào một hàng đợi chỉ sao chép một tệp tại một thời điểm, cho đến khi hàng đợi được thực hiện.

Câu trả lời trong Bash và đặc biệt là Perl cũng được chào đón!


Tôi thực sự không hiểu câu hỏi. Có vẻ như bạn bắt đầu nhiều hoạt động sao chép độc lập cùng một lúc, và một lần nữa, bạn không ...? Bạn đã thử sao chép tất cả các tệp có liên quan như một phần của cùng một thao tác sao chép, ví dụ bằng cách chọn tất cả các tệp đó, sau đó kéo đến đích; hoặc chọn chúng Cmd-C, sau đó Cmd-Vtại đích?
Daniel Beck

@Daniel Tôi đã cố gắng làm rõ câu hỏi - đây cũng là một vấn đề tôi gặp phải: Đó là về việc bắt đầu các hoạt động sao chép độc lập. Giải pháp sẽ là một hàng đợi nơi bạn có thể đặt các tệp được sao chép và các công việc sẽ được xử lý theo cách tuần tự.
slhck

@slhck Làm thế nào và cuối cùng, nếu quá trình bị hủy bỏ, không có tệp nào đến đích được áp dụng cho các hoạt động độc lập? Tôi không thể sử dụng tệp đầu tiên cho đến khi tất cả các tệp khác cũng đã đến. nghĩa là?
Daniel Beck

1
Đó cũng là một vấn đề khi chọn nhiều tệp và sao chép chúng. Tất cả các tệp tạo thành một quá trình trong đó các tệp trong đó không thể xếp hàng. Đây là IMHO cũng tệ. Tuy nhiên, tôi cũng muốn thêm các tệp vào hàng đợi.
Kebman

Chúng thực sự được sao chép lần lượt. Bạn có nghĩa là thứ tự mà chúng được sao chép về cơ bản là ngẫu nhiên?
Daniel Beck

Câu trả lời:


8

UltraCopier

UltraCopier là một tiện ích sao chép đa nền tảng và miễn phí hiện đang được phát triển, vì vậy nó vẫn chưa gọn gàng và lịch sự. Khi bạn cài đặt nó, nó nằm trong thanh menu của bạn.

Nó quản lý một danh sách sao chép cho phép bạn xếp hàng sao chép hoặc di chuyển các công việc, sau đó được xử lý tuần tự. Bạn cũng có thể xác định mức độ ưu tiên của quá trình sao chép cũng như kích thước khối của chuyển khoản.

Với phiên bản mới, bạn có thể nhóm với nguồn và / hoặc đích tương tự, hoặc chỉ luôn luôn hoặc không bao giờ.

nhập mô tả hình ảnh ở đây


Đẹp! Sử dụng! Hoạt động hoàn hảo! Trên thực tế đã tìm kiếm XCode, Ca cao và Mục tiêu C dự tính viết ứng dụng của riêng tôi.
Kebman

4

Đây là một giải pháp bash:

cp file1 dest1; cp file2 dest2

Lặp lại điều này cho bao nhiêu tập tin bạn muốn sao chép. Chỉ cần tiếp tục thêm dấu chấm phẩy và cplệnh.

Bạn cũng có thể làm

cp file1 dest1 && cp file2 dest2

Trong ví dụ này, tệp sẽ chỉ được sao chép nếu trước khi nó được sao chép thành công.

Đối với một thư mục, bạn có thể làm một cái gì đó như thế này:

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

Nhưng khi bạn cố gắng sao chép toàn bộ thư mục theo cách này, nó được coi là một quá trình một lần nữa, điều không mong muốn. Tôi cũng muốn mỗi tập tin trong thư mục xếp hàng.
Kebman

1
@Kebman: Xem chỉnh sửa gần đây nhất của tôi.
Wuffers

2
Hãy nhận biết các tập tin với không gian và ký tự toàn cầu với forcách tiếp cận. Có lẽ tôi sẽ làm điều đó với một find -print0đường ống xargs -0để được an toàn.
slhck

2

Path Finder 6 có vẻ dễ điều hướng hơn ultracopier và chắc chắn tạo ra một gợi ý rõ ràng, cộng với nó có nhiều tùy chọn hơn. Cũng có bản dùng thử 30 ngày cho nó.

Nhưng tôi đang sử dụng nó một cách chuyên nghiệp nên tôi nói hoàn toàn xứng đáng.

Hoạt động tệp trong Trình tìm đường dẫn 6 (video YouTube)


1
Tôi đang tìm kiếm một giải pháp miễn phí, nhưng Path Finder được biết đến là một ứng dụng tốt. Thực tế tôi nghĩ rằng thật đáng tiếc khi Finder rất đơn giản đến mức bạn cần một ứng dụng của bên thứ ba nếu bạn muốn làm bất cứ điều gì nửa tiến.
Kebman

2

Trình tìm đường dẫn thay thế Finder bao gồm chức năng xếp hàng sao chép kể từ phiên bản 6.

Hàng đợi chuyển tập tin

Truy cập các hoạt động tập tin hiện tại từ một mục thanh công cụ hoặc một cửa sổ thống nhất riêng biệt.


2

Ngoài một số trình quản lý sao chép khác trong chuỗi này, bạn có thể muốn xem ForkLift: http://www.binarynights.com/forklift/

Ưu điểm:

  • Bật / tắt hàng đợi,
  • FTP + SFTP + Amazon S3 + WEBDav,
  • Bunch của các công cụ đồng bộ tiện dụng hướng đến các nhà phát triển.

Nhược điểm:

  • Được trả tiền (mặc dù tại thời điểm viết bài có một điều đặc biệt trên App Store nhưng ...),
  • Phiên bản App Store thiếu tính năng (oh sandbox).

0

Lập kế hoạch những gì bạn muốn di chuyển

  • Tạo bí danh của các thư mục trong nguồn
  • Di chuyển Bí danh vào thư mục đích

Tạo một tập lệnh tìm các bí danh và thay thế chúng bằng gốc (di chuyển)

Khởi chạy kịch bản và đi ngủ.


Xin chào, và chào mừng đến với superuser.com. Bạn đăng bài giống như một cuộc thảo luận hơn là một câu trả lời. Xin lưu ý rằng đây không phải là một diễn đàn thảo luận và cố gắng trả lời câu hỏi được hỏi. Cảm ơn bạn! Có lẽ bạn có thể chỉnh sửa câu trả lời của mình để làm cho nó nhiều hơn về chủ đề.
sleske

Tôi không muốn lập kế hoạch. Tôi chỉ muốn xếp hàng các tập tin và để chúng di chuyển từng cái một mà không cần suy nghĩ. Tạo bí danh là không cần thiết nếu bạn đã sử dụng tập lệnh. Ngoài ra, nếu tôi biết cách tạo kịch bản, tôi đã thực hiện nó. Bạn có một ví dụ về một tập lệnh hỗ trợ xếp hàng tập tin không?
Kebman

Đặt đường dẫn nguồn và đường dẫn đích vào tệp văn bản "queue.txt", được phân tách bằng dấu phân cách, như đường ống |. Ví dụ về một dòng / foo / bar / source | / target. Sau đó, mèo queue.txt | trong khi đọc l; do src = "$ (echo" $ l "| awk -F" | "'{in $ 1}')"; dst = "$ (tiếng vang" $ l "| awk -F" | "'{in $ 2}')"; echo "Sao chép từ $ src TO $ dst"; cp -r "$ src" "$ dst"; làm xong. Đó là một ví dụ rất thô thiển. Tôi sẽ không khuyên bạn đánh bạc trên các kịch bản như thế, có rất nhiều cạm bẫy. Dù sao, nếu bạn đã từng thử, hãy bắt đầu bằng cách đọc này: devblog.virtage.com/2013/01/ trên
Ramkam

0

Tôi gặp vấn đề tương tự và tìm thấy một ứng dụng trên cửa hàng ứng dụng có tên 'CopyQueue'.

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

Nó dường như làm việc tuyệt vời. Chỉ cần kéo (các) thư mục hoặc (các) tệp bạn muốn sao chép vào hàng đợi và nó sẽ bắt đầu sao chép qua hàng đợi. Bạn có thể tạm dừng, sắp xếp lại thứ tự ưu tiên hàng đợi và một trong những tính năng yêu thích của tôi là nhấp xác minh để xác nhận bản sao thành công.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.