Bir Mac'te kopyalamak için birden fazla dosyayı nasıl sıralayabilirim?


15

Bir Mac'e birden fazla dosya kopyaladığımda, sistem hepsini aynı anda kopyalamaya çalışır. Sorun iki yönlüdür.

Her şeyden önce, birden fazla dosya seçtiğinizde ve kopyaladığınızda, hepsi veritabanlarındaki ACID'den farklı olarak "ya hep ya hiç" yaklaşımıyla tek bir işleme girer. Genellikle bu arzu edilemez.

Ayrıca, başka kopyalama işlemleri eklediğinizde, sistem her şeyi aynı anda kopyalamaya çalışır.

Örneğin, büyük bir dosyayı kopyalamaya karar verdim A, daha sonra da büyük bir dosyayı kopyalamaya karar verdim B. Bu, "büyük dosyalardan" birinin birden fazla dosya seçimi olup olmadığına bakılmaksızın iki paralel kopyalama işlemi ile sonuçlanır.

Bunu birkaç nedenden dolayı sevmiyorum:

  • Birden fazla kopyalama işlemi aynı anda çalıştığında, diğer işlemleri de bataklığa uğratır.
  • Ayrıca, aynı anda birden fazla dosya kopyalandığında, kopyalama işleminin kendisi çok daha yavaş ilerler.
  • Son olarak, işlem iptal edilirse, hiçbir dosya hedefine ulaşmaz.
  • Kuyruğa bir dosya eklerken, aynı anda kopyalamaya başlar ve süreci daha da yavaşlatır.
  • Bu, (yerel) ağdaki diğer makinelere veya sürücülere kopyalama yaparken gerçek bir sorundur.

Sonuç: İlk Aolarak aktarmak ve kullanmak istediğim dosyaya ulaşmak gerekenden çok daha uzun sürüyor ve LAN'daki merkezi bir HD'den kopyalarken, diğer tüm dosyalar da gelene kadar ilk dosyayı kullanamıyorum.

Böylece ... Mac'te kopyalamak için birden fazla dosyayı nasıl sıralayabilirim? Açıklığa kavuşturmak için: Çok sayıda dosya seçilirse veya teker teker eklenirse, kuyruk tamamlanıncaya kadar hepsinin bir seferde yalnızca bir dosyayı kopyalayan bir sıraya koymalarını istiyorum.

Bash ve özellikle Perl'deki cevaplar da açıktır!


Soruyu gerçekten anlamıyorum. Kısmen birden fazla bağımsız kopyalama işlemine aynı anda başladınız ve sonra tekrar yapmıyorsunuz ...? İlgili tüm dosyaları aynı kopyalama işleminin bir parçası olarak kopyalamayı denediniz mi, örneğin hepsini seçip hedefe sürükleyerek; ya da onları seçmek Cmd-C, sonra Cmd-Vhedefe?
Daniel Beck

@Daniel Soruyu açıklığa kavuşturmaya çalıştım - bu kendimle de karşılaştığım bir problem: Bağımsız kopya işlemlerine başlamakla ilgili. Çözüm, sadece kopyalanacak dosyaları koyabileceğiniz ve işlerin sıralı bir şekilde işleneceği bir kuyruk olacaktır.
slhck

@slhck Son olarak, süreç iptal edilirse, dosyalardan hiçbiri hedefe ulaşmazsa bağımsız işlemler için geçerlidir? Ne yapar , diğer tüm dosyalar da geldi kadar ben ilk dosyayı kullanamazsınız. anlamına gelmek?
Daniel Beck

1
Ayrıca, birçok dosyayı seçip kopyalarken de bir sorun var. Tüm dosyalar, içindeki dosyaların sıralanmasının mümkün olmadığı bir işlem oluşturur. Bu IMHO da kötü. Yine de bir kuyruğa dosya eklemek istiyorum.
Kebman

Aslında birbiri ardına kopyalanıyorlar. Yani kopyalanma sırası esasen rastgele mi?
Daniel Beck

Yanıtlar:


8

UltraCopier

UltraCopier , şu anda geliştirilmekte olan ücretsiz ve platformlar arası bir kopyalama yardımcı programıdır, bu yüzden henüz düzgün ve parlak değildir. Yükledikten sonra, menü çubuğunuzda oturur.

Bu kuyruk olanak tanıyan bir kopya listesi yönetir kopya veya hamle daha sonra sırayla işlenir işler. Kopyalama işlemi önceliğini ve aktarımın blok boyutunu da tanımlayabilirsiniz.

Yeni sürümle, benzer kaynak ve / veya hedef ile gruplayabilirsiniz veya her zaman veya asla.

resim açıklamasını buraya girin


Güzel! Kullanımı! Mükemmel çalışıyor! Aslında kendi uygulama yazmayı düşünürken XCode, Cocoa ve Objective C'yi aradım.
Kebman

4

İşte bir bash çözümü:

cp file1 dest1; cp file2 dest2

Kopyalamak istediğiniz dosya sayısı için bu işlemi tekrarlayın. Noktalı virgül ve cpkomut eklemeye devam edin .

Ayrıca yapabilirsin

cp file1 dest1 && cp file2 dest2

Bu örnekte, dosya yalnızca başarılı bir şekilde kopyalanmadan önce kopyalanır.

Bir klasör için şöyle bir şey yapabilirsiniz:

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

Ancak, tüm klasörü bu şekilde kopyalamaya çalıştığınızda, yeniden bir işlem olarak kabul edilir, bu istenmez. Klasördeki her dosyanın sıraya alınmasını da istiyorum.
Kebman

1
@Kebman: En son düzenlememi görün.
Wuffers

2
forYaklaşımı olan boşluklu ve zekice karakterlere sahip dosyaların farkında olun . Muhtemelen güvenli olmak için bir find -print0boru ile yapardım xargs -0.
slhck

2

Path Finder 6'da gezinmek ultra kopyadan daha kolay görünüyor ve kesinlikle net bir ipucu yaratıyor, ayrıca daha fazla seçeneğe sahip. Bunun için 30 günlük bir deneme var.

Ama bunu profesyonelce kullanıyorum, bu yüzden buna değerim.

Path Finder 6'da Dosya İşlemleri (YouTube videosu)


1
Ücretsiz bir çözüm arıyordum, ancak Path Finder'ın iyi bir uygulama olduğu biliniyor. Aslında, Finder'ın yarı gelişmiş bir şey yapmak istiyorsanız, bir üçüncü taraf uygulamasına ihtiyacınız olduğu kadar basit bir utanç olduğunu düşünüyorum.
Kebman

2

Finder alternatif Path Finder , sürüm 6'dan beri bir kopya kuyruğu işlevselliği içerir.

Dosya Aktarım Kuyruğu

Geçerli dosya işlemlerine bir araç çubuğu öğesinden veya ayrı bir birleştirilmiş pencereden erişin.


2

Bu dizideki diğer kopya yöneticilerine ek olarak, ForkLift'e bakmak isteyebilirsiniz: http://www.binarynights.com/forklift/

Artıları:

  • Kuyruğu aç / kapat,
  • FTP + SFTP + Amazon S3 + WEBDav,
  • Geliştiricilere yönelik kullanışlı senkronizasyon araçları.

Eksileri:

  • Ücretli (ancak yazarken App Store'da özel bir reklam var ama ...),
  • App Store sürümünde özellikler eksik (oh sandbox).

0

Ne taşımak istediğinizi planlayın

  • Kaynaktaki klasörlerin diğer adlarını oluşturma
  • Takma Adları hedef klasöre taşıma

Takma adları bulan bir komut dosyası oluşturun ve bunları başlangıç ​​noktasıyla değiştirin (taşıma)

Senaryoyu başlat ve uyu.


Merhaba, superuser.com'a hoş geldiniz. Bir cevaptan çok, bir tartışma gibi okur. Lütfen bunun bir tartışma forumu olmadığını unutmayın ve sorulan soruya cevap vermeye çalışın. Teşekkür ederim! Belki cevabınızı daha konuyla ilgili yapmak için düzenleyebilirsiniz.
sleske

Planlamak istemiyorum. Sadece dosyaları sıraya koymak ve düşünmeden tek tek hareket ettirmek istiyorum. Zaten bir komut dosyası kullanıyorsanız takma adlar oluşturmak gereksizdir. Ayrıca, bir senaryoyu nasıl yapacağımı biliyor olsaydım, zaten yapardım. Dosya kuyruğunu destekleyen bir komut dosyası örneğiniz var mı?
Kebman

Kaynak yollarını ve hedef yollarını, boru (|) gibi bir sınırlayıcıyla ayrılmış bir "queue.txt" metin dosyasına yerleştirin. Bir çizgi / foo / bar / source | / target örneği. Sonra kedi queue.txt | okurken l; do src = "$ (echo" $ l "| awk -F" | "'{print $ 1}')"; dst = "$ (echo" $ l "| awk -F" | "'{print $ 2}')"; echo "$ src - $ dst arasında kopyalama"; cp -r "$ src" "$ dst"; yapılır. Bu çok kaba bir örnek. Size böyle senaryolarda kumar oynamanızı tavsiye etmem, tonlarca tuzak var. Her neyse denerseniz, bunu okuyarak başlayın: devblog.virtage.com/2013/01/…
Ramkam

0

Aynı sorunu yaşadım ve uygulama mağazasında 'CopyQueue' adlı bir uygulama buldum.

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

Harika çalışıyor gibi görünüyor. Sadece kuyruğa kopyalamak istediğiniz klasörleri veya dosyaları sürükleyin, kuyrukta kopyalamaya başlayacaktır. Durak önceliğini duraklatabilir, yeniden sıralayabilirsiniz ve en sevdiğim özelliklerden biri, kopyanın başarılı olduğunu onaylamak için doğrula'yı tıklamaktır.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.