ฉันจะจัดคิวไฟล์หลายไฟล์สำหรับการคัดลอกบน Mac ได้อย่างไร


15

เมื่อฉันคัดลอกหลายไฟล์ใน Mac ระบบจะพยายามคัดลอกไฟล์ทั้งหมดในเวลาเดียวกัน ปัญหาคือสองเท่า

ก่อนอื่นเมื่อคุณเลือกหลายไฟล์และคัดลอกไฟล์พวกเขาทั้งหมดจะเข้าสู่กระบวนการเดียวโดยใช้วิธี "all or nothing" ซึ่งไม่เหมือนกับกรดในฐานข้อมูล บ่อยครั้งที่สิ่งนี้ไม่เป็นที่ต้องการ

นอกจากนี้เมื่อคุณเพิ่มกระบวนการทำสำเนาอื่น ๆ ระบบจะพยายามทำสำเนาทุกอย่างในเวลาเดียวกัน

ตัวอย่างเช่นฉันตัดสินใจคัดลอกไฟล์ขนาดใหญ่Aจากนั้นฉันตัดสินใจคัดลอกไฟล์ขนาดใหญ่Bเช่นกัน ซึ่งส่งผลให้มีการดำเนินการคัดลอกแบบขนานสองครั้งโดยไม่คำนึงว่าหนึ่งใน "ไฟล์ขนาดใหญ่" ยังเป็นตัวเลือกของไฟล์จำนวนมาก

ฉันไม่ชอบสิ่งนี้ด้วยเหตุผลหลายประการ:

  • เมื่อกระบวนการคัดลอกหลายรายการทำงานพร้อมกันดูเหมือนว่าจะเป็นการขัดข้องของกระบวนการอื่น ๆ
  • นอกจากนี้เมื่อคัดลอกไฟล์หลายไฟล์พร้อมกันกระบวนการคัดลอกจะช้าลงกว่าเดิม
  • และสุดท้ายหากกระบวนการถูกยกเลิกไม่มีไฟล์ใดมาถึงปลายทาง
  • เมื่อทำการเพิ่มไฟล์ลงในคิวมันจะเริ่มทำการคัดลอกพร้อมกันและทำให้กระบวนการทำงานราบรื่นยิ่งขึ้น
  • นี่เป็นปัญหาที่แท้จริงเมื่อคัดลอกไปยังเครื่องอื่นหรือไดรฟ์บนเน็ตเวิร์ก (local)

ผลลัพธ์: ไฟล์Aที่ฉันต้องการถ่ายโอนและใช้งานก่อนใช้เวลานานกว่าที่ต้องการและเมื่อคัดลอกจาก HD กลางบน LAN ฉันไม่สามารถใช้ไฟล์แรกจนกว่าไฟล์อื่นทั้งหมดจะมาถึง

ดังนั้น ... ฉันจะจัดคิวไฟล์หลายไฟล์สำหรับการคัดลอกบน Mac ได้อย่างไร ในการชี้แจง: โดยไม่คำนึงถึงไฟล์จำนวนมากที่ถูกเลือกหรือพวกเขาถูกเพิ่มทีละคนฉันต้องการให้พวกเขาทั้งหมดใส่ลงในคิวที่คัดลอกเพียงหนึ่งไฟล์ในแต่ละครั้งจนกว่าจะเสร็จสิ้นคิว

คำตอบใน Bash และ Perl โดยเฉพาะก็ยินดีต้อนรับเช่นกัน!


ฉันไม่เข้าใจคำถามจริงๆ ดูเหมือนว่าคุณจะเริ่มการคัดลอกอิสระหลายครั้งพร้อมกันและอีกครั้งคุณไม่ ... คุณได้ลองคัดลอกไฟล์ที่เกี่ยวข้องทั้งหมดซึ่งเป็นส่วนหนึ่งของการดำเนินการคัดลอกเดียวกันเช่นโดยเลือกทั้งหมดแล้วลากไปยังปลายทาง หรือเลือกพวกเขาCmd-Cแล้วCmd-Vที่ปลายทาง?
Daniel Beck

@Daniel ฉันพยายามชี้แจงคำถาม - นี่เป็นปัญหาที่ฉันได้พบตัวเองเช่นกัน: มันเกี่ยวกับการเริ่มต้นการคัดลอกอิสระ การแก้ปัญหาจะเป็นคิวที่คุณสามารถวางไฟล์เพื่อคัดลอกและงานจะถูกประมวลผลในลำดับ
slhck

@slhck ทำอย่างไรและสุดท้ายหากกระบวนการถูกยกเลิกไม่มีไฟล์ใดถึงปลายทางที่ใช้กับการดำเนินงานอิสระ อะไรฉันไม่สามารถใช้ไฟล์แรกจนครบทุกไฟล์อื่น ๆ นอกจากนี้ยังได้เดินทางมาถึง หมายความว่าอย่างไร
Daniel Beck

1
นอกจากนี้ยังเป็นปัญหาเมื่อเลือกไฟล์จำนวนมากและคัดลอกไฟล์ ไฟล์ทั้งหมดเป็นกระบวนการเดียวที่ไม่สามารถเข้าคิวได้ นี่คือ IMHO ที่ไม่ดีเช่นกัน อย่างไรก็ตามฉันต้องการเพิ่มไฟล์ลงในคิว
Kebman

พวกเขาจะถูกคัดลอกจริงหนึ่งหลังจากที่อื่น คุณหมายถึงลำดับที่พวกเขากำลังคัดลอกนั้นเป็นแบบสุ่มหรือไม่?
Daniel Beck

คำตอบ:


8

UltraCopier

UltraCopierเป็นยูทิลิตี้การคัดลอกฟรีและข้ามแพลตฟอร์มที่กำลังพัฒนาดังนั้นจึงยังไม่เรียบร้อยและสวยงาม เมื่อคุณติดตั้งแล้วมันจะอยู่ในแถบเมนูของคุณ

มันจัดการรายการคัดลอกที่ช่วยให้คุณสามารถคิวคัดลอกหรือย้ายงานซึ่งจะถูกประมวลผลตามลำดับ คุณยังสามารถกำหนดลำดับความสำคัญของกระบวนการคัดลอกเช่นเดียวกับขนาดบล็อกของการถ่ายโอน

ด้วยเวอร์ชันใหม่คุณสามารถจัดกลุ่มกับแหล่งที่มาและ / หรือปลายทางที่คล้ายกันหรือเพียงแค่เสมอหรือไม่เคย

ป้อนคำอธิบายรูปภาพที่นี่


ดี! ใช้! ทำงานได้สมบูรณ์แบบ! ค้นหา XCode จริง ๆ , Cocoa และ Objective C ใคร่ครวญการเขียนแอพของฉันเอง
Kebman

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

แต่เมื่อคุณพยายามที่จะคัดลอกทั้งโฟลเดอร์ด้วยวิธีนี้มันจะถือว่าเป็นกระบวนการเดียวอีกครั้งซึ่งไม่ต้องการ ฉันยังต้องการให้แต่ละไฟล์ในโฟลเดอร์จัดคิว
Kebman

1
@Kebman: ดูการแก้ไขล่าสุดของฉัน
Wuffers

2
ระวังไฟล์ที่มีช่องว่างและตัวอักษรกลม ๆ ด้วยforวิธีการ ฉันอาจจะทำมันโดยใช้find -print0piped xargs -0ให้ปลอดภัย
slhck

2

Path Finder 6ดูง่ายกว่านำทางเป็นพิเศษและสร้างคิวที่ชัดเจนและมีตัวเลือกเพิ่มเติม นอกจากนี้ยังมีการทดลองใช้ 30 วันสำหรับมัน

แต่ฉันใช้สิ่งนี้อย่างมืออาชีพ

การใช้งานไฟล์ใน Path Finder 6 (วิดีโอ YouTube)


1
ฉันกำลังมองหาวิธีแก้ปัญหาฟรี แต่ Path Finder นั้นเป็นแอพที่ดี ในความเป็นจริงฉันคิดว่ามันเป็นความอัปยศที่ Finder นั้นง่ายจนคุณต้องมีแอปของบุคคลที่สามหากคุณต้องการทำอะไรขั้นสูงครึ่งหนึ่ง
Kebman

2

Finder Finder Path Pathมีฟังก์ชั่นการคัดลอกคิวตั้งแต่เวอร์ชั่น 6

คิวถ่ายโอนไฟล์

เข้าถึงการทำงานของไฟล์ปัจจุบันจากรายการแถบเครื่องมือหรือหน้าต่างรวมแบบแยกต่างหาก


2

นอกจากตัวจัดการสำเนาอื่น ๆ ในชุดข้อความนี้คุณอาจต้องการดู ForkLift: http://www.binarynights.com/forklift/

ข้อดี:

  • เปิด / ปิดการเข้าคิว
  • FTP + SFTP + Amazon S3 + WEBDav,
  • เครื่องมือการซิงค์ที่ใช้งานสะดวกเหมาะสำหรับนักพัฒนา

จุดด้อย:

  • ชำระเงิน (แม้ว่าในขณะที่เขียนมีพิเศษใน App Store แต่ ... )
  • เวอร์ชั่นของ App Store ไม่มีคุณสมบัติ (โอ้แซนด์บ็อกซ์)

0

วางแผนสิ่งที่คุณต้องการย้าย

  • สร้างนามแฝงของโฟลเดอร์ในแหล่งที่มา
  • ย้ายนามแฝงไปที่โฟลเดอร์เป้าหมาย

สร้างสคริปต์ที่ค้นหานามแฝงและแทนที่ด้วยจุดเริ่มต้น (ย้าย)

เรียกใช้สคริปต์และเข้าสู่โหมดสลีป


สวัสดีและยินดีต้อนรับสู่ superuser.com คุณโพสต์อ่านเหมือนการสนทนามากกว่าคำตอบ โปรดอย่าว่านี่ไม่ใช่ฟอรัมการสนทนาและพยายามตอบคำถามที่ถาม ขอขอบคุณ! บางทีคุณสามารถแก้ไขคำตอบของคุณเพื่อให้เป็นหัวข้อเพิ่มเติมได้
sleske

ฉันไม่ต้องการวางแผน ฉันแค่ต้องการจัดคิวไฟล์และให้พวกเขาย้ายทีละคนโดยไม่คิด การสร้างชื่อแทนนั้นไม่จำเป็นหากคุณใช้สคริปต์อยู่แล้ว นอกจากนี้ถ้าฉันรู้วิธีสร้างสคริปต์ฉันก็ทำไปแล้ว คุณมีตัวอย่างของสคริปต์ที่รองรับการจัดคิวไฟล์หรือไม่?
Kebman

วางพา ธ ต้นทางและพา ธ เป้าหมายในไฟล์ข้อความ "que.txt" คั่นด้วยตัวคั่นเช่นไพพ์ | ตัวอย่างของบรรทัด / foo / bar / source | / target จากนั้น cat que.txt | ในขณะที่อ่าน l; ทำ src = "$ (echo" $ l "| awk -F" | "'{พิมพ์ $ 1}')"; dst = "$ (echo" $ l "| awk -F" | "'{พิมพ์ $ 2}')"; echo "กำลังคัดลอกจาก $ src ไปยัง $ dst"; cp -r "$ src" "$ dst"; เสร็จแล้ว นั่นเป็นตัวอย่างที่หยาบมาก ฉันจะไม่แนะนำให้คุณพนันสคริปต์เช่นนั้นมีข้อผิดพลาดมากมาย อย่างไรก็ตามถ้าคุณเคยลองเริ่มต้นโดยการอ่านนี้: devblog.virtage.com/2013/01/...
Ramkam

0

ฉันพบปัญหาเดียวกันและพบแอปในแอพสโตร์ชื่อว่า 'CopyQueue'

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

ดูเหมือนว่าจะทำงานได้ดี เพียงลากโฟลเดอร์หรือไฟล์ที่คุณต้องการคัดลอกไปยังคิวและมันจะเริ่มคัดลอกผ่านคิว คุณสามารถหยุดชั่วคราวเรียงลำดับความสำคัญของคิวและหนึ่งในคุณสมบัติที่ฉันชอบคือคลิกยืนยันเพื่อยืนยันว่าการคัดลอกสำเร็จ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.