Bagaimana cara mengantre banyak file untuk menyalin di Mac?

15

Ketika saya menyalin beberapa file di Mac, sistem mencoba untuk menyalin semuanya sekaligus. Masalahnya adalah dua kali lipat.

Pertama-tama, ketika Anda memilih beberapa file dan menyalinnya, mereka semua masuk ke satu proses dengan pendekatan "semua atau tidak sama sekali" tidak seperti ACID dalam database. Seringkali ini tidak diinginkan.

Lebih lanjut, ketika Anda menambahkan proses penyalinan lain, sistem mencoba untuk menyalin semuanya pada saat yang bersamaan.

Misalnya, saya memutuskan untuk menyalin file besar A, kemudian saya memutuskan untuk menyalin file besar Bjuga. Ini menghasilkan dua operasi penyalinan paralel, terlepas dari apakah salah satu "file besar" juga merupakan pilihan banyak file.

Saya tidak suka ini karena beberapa alasan:

  • Ketika beberapa proses penyalinan berjalan secara bersamaan, tampaknya menghambat proses lainnya.
  • Juga, ketika beberapa file disalin pada saat yang sama, proses penyalinannya sendiri tampaknya berjalan lebih lambat.
  • Dan terakhir, jika proses dibatalkan, tidak ada file yang mencapai tujuannya.
  • Saat menambahkan file ke antrian, itu juga akan mulai menyalin sekaligus, dan menghambat proses lebih jauh.
  • Ini adalah masalah nyata ketika menyalin ke komputer atau drive lain di jaringan (lokal).

Hasil: File A, yang ingin saya transfer dan gunakan dulu, membutuhkan waktu lebih lama untuk tiba dari yang dibutuhkan, dan ketika menyalin dari HD pusat di LAN, saya tidak bisa menggunakan file pertama sampai semua file lain juga telah tiba.

Jadi ... Bagaimana saya mengantri banyak file untuk disalin pada Mac? Untuk memperjelas: Terlepas dari banyak file yang dipilih, atau mereka ditambahkan satu per satu, saya ingin mereka semua dimasukkan ke dalam antrian yang hanya menyalin satu file sekaligus, sampai antrian selesai.

Jawaban di Bash dan terutama Perl juga diterima!

Kebman
sumber
Saya benar-benar tidak mengerti pertanyaannya. Tampaknya Anda memulai beberapa operasi penyalinan independen sekaligus, dan sekali lagi, Anda tidak ...? Sudahkah Anda mencoba menyalin semua file yang relevan sebagai bagian dari operasi penyalinan yang sama misalnya dengan memilih semuanya, lalu menyeret ke tujuan; atau memilih mereka Cmd-C,, lalu Cmd-Vke tujuan?
Daniel Beck
@Aniel Saya mencoba untuk mengklarifikasi pertanyaan - ini adalah masalah yang saya temui juga: Ini tentang memulai operasi penyalinan independen. Solusinya adalah antrian di mana Anda bisa meletakkan file untuk disalin dan pekerjaan akan diproses secara berurutan.
slhck
@ slhck Bagaimana Dan terakhir, jika proses dibatalkan, tidak ada file yang mencapai tujuannya berlaku untuk operasi independen? Apa yang saya tidak dapat menggunakan file pertama sampai semua file lain juga telah tiba. berarti?
Daniel Beck
1
Ini juga masalah ketika memilih banyak file dan menyalinnya. Semua file merupakan satu proses di mana file di dalamnya tidak mungkin untuk antri. Ini IMHO juga buruk. Meskipun demikian, saya juga ingin menambahkan file ke antrian.
Kebman
Mereka sebenarnya disalin satu demi satu. Maksud Anda urutan penyalinan pada dasarnya acak?
Daniel Beck

Jawaban:

8

UltraCopier

UltraCopier adalah utilitas salin gratis dan lintas platform yang saat ini sedang dalam pengembangan, jadi belum rapi dan dipoles. Setelah Anda menginstalnya, itu duduk di bilah menu Anda.

Ia mengelola daftar salinan yang memungkinkan Anda untuk mengantri menyalin atau memindahkan pekerjaan, yang kemudian diproses secara berurutan. Anda juga dapat menentukan prioritas proses penyalinan serta ukuran blok transfer.

Dengan versi baru Anda dapat mengelompokkan dengan sumber dan / atau tujuan yang serupa, atau hanya selalu atau tidak pernah sama sekali.

masukkan deskripsi gambar di sini

slhck
sumber
Bagus! Menggunakan! Bekerja dengan sempurna! Sebenarnya mencari XCode, Cocoa dan Objective C sedang memikirkan untuk menulis aplikasi saya sendiri.
Kebman
4

Inilah solusi bash:

cp file1 dest1; cp file2 dest2

Ulangi ini untuk berapa banyak file yang ingin Anda salin. Terus tambahkan titik koma dan cpperintah.

Anda juga bisa melakukannya

cp file1 dest1 && cp file2 dest2

Dalam contoh ini, file hanya akan disalin jika yang sebelumnya berhasil disalin.

Untuk folder, Anda dapat melakukan sesuatu seperti ini:

for x in folder/*; do echo "Copying $x"; cp "$x" destdir; done
Wuffers
sumber
Tetapi ketika Anda mencoba menyalin seluruh folder dengan cara ini, itu diperlakukan sebagai satu proses lagi, yang tidak diinginkan. Saya juga ingin setiap file dalam folder di-antri.
Kebman
1
@ Kenman: Lihat hasil edit saya yang terbaru.
Wuffers
2
Waspadai file dengan spasi dan karakter globbing dengan forpendekatannya. Saya mungkin akan melakukannya dengan find -print0pipa ke dalam xargs -0aman.
slhck
2

Path Finder 6 terlihat lebih mudah dinavigasi daripada ultracopier dan jelas menciptakan isyarat yang jelas, ditambah lagi memiliki lebih banyak pilihan. Ada juga uji coba 30 hari untuk itu.

Tapi saya menggunakan ini secara profesional jadi saya katakan sangat berharga.

Operasi File di Path Finder 6 (video YouTube)

TJ Hellmuth
sumber
1
Saya mencari solusi gratis, tetapi Path Finder dikenal sebagai aplikasi yang bagus. Bahkan saya pikir itu memalukan bahwa Finder sangat sederhana bahwa Anda memerlukan aplikasi pihak ketiga jika Anda ingin melakukan apa pun setengah maju.
Kebman
2

Path Finder alternatif Finder mencakup fungsi antrian salin sejak versi 6.

Antrian Transfer File

Akses operasi file saat ini dari item toolbar atau jendela terpadu yang terpisah.

Daniel Beck
sumber
2

Selain beberapa manajer salin lain di utas ini, Anda mungkin ingin melihat ForkLift: http://www.binarynights.com/forklift/

Pro:

  • Menghidupkan / mematikan antrian,
  • FTP + SFTP + Amazon S3 + WEBDav,
  • Sekelompok alat sinkronisasi berguna yang ditujukan untuk pengembang.

Cons:

  • Dibayar (meskipun pada saat penulisan ada yang spesial di App Store tetapi ...),
  • Versi App Store tidak memiliki fitur (oh kotak pasir).
LordParsley
sumber
0

Rencanakan apa yang ingin Anda pindahkan

  • Buat alias folder di sumber
  • Pindahkan Alias ​​ke folder target

Buat skrip yang menemukan alias dan ganti dengan asal (pindahkan)

Luncurkan skrip dan pergi tidur.

Ramkam
sumber
Hai, dan selamat datang di superuser.com. Anda memposting membaca lebih seperti diskusi daripada menyukai jawaban. Tolong jangan bahwa ini bukan forum diskusi, dan cobalah untuk menjawab pertanyaan yang diajukan. Terima kasih! Mungkin Anda bisa mengedit jawaban Anda untuk membuatnya lebih sesuai topik.
sleske
Saya tidak ingin merencanakan. Saya hanya ingin mengantri file dan minta mereka dipindahkan satu per satu tanpa berpikir. Membuat alias tidak berguna jika Anda sudah menggunakan skrip. Juga, jika saya tahu cara membuat naskah, saya sudah membuatnya. Apakah Anda memiliki contoh skrip yang mendukung antrian file ?
Kebman
Masukkan jalur sumber dan jalur target dalam file teks "queue.txt", dipisahkan oleh pembatas, seperti pipa |. Contoh baris / foo / bar / sumber | / target. Kemudian cat queue.txt | saat membaca l; do src = "$ (echo" $ l "| awk -F" | "'{print $ 1}')"; dst = "$ (echo" $ l "| awk -F" | "'{print $ 2}')"; echo "Menyalin dari $ src TO $ dst"; cp -r "$ src" "$ dst"; selesai Itu contoh yang sangat kasar. Saya tidak akan menyarankan Anda bertaruh pada skrip begitu saja, ada banyak jebakan. Pokoknya jika Anda pernah mencoba, mulailah dengan membaca ini: devblog.virtage.com/2013/01/…
Ramkam
0

Saya memiliki masalah yang sama dan menemukan aplikasi di app store bernama 'CopyQueue'.

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

Tampaknya bekerja dengan baik. Cukup seret folder atau file yang ingin Anda salin ke antrian dan itu akan mulai menyalin melalui antrian. Anda dapat menjeda, menyusun ulang prioritas antrian, dan salah satu fitur favorit saya adalah klik verifikasi untuk memastikan bahwa salinan berhasil.

Tris
sumber
0

Ada juga Mini Copier - UI terlihat sangat mirip dengan UltraCopier.

Steve Bennett
sumber