กลับไปหน้าบทความ

อ่าน 6 นาที

โรโบคอปปี้

Robocopy เป็น ยูทิลิตี้ การถ่ายโอนไฟล์ แบบบรรทัดคำสั่ง สำหรับ Windows มีฟังก์ชันการทำงานที่ครอบคลุมมากกว่า คำสั่ง และแต่ไม่ได้แทนที่คำสั่งใดคำสั่งหนึ่ง สร้างโดย Kevin Allen [ 1 ]...

โรโบคอปปี้

โรโบคอปปี้
ชื่ออื่นๆโปรแกรมคัดลอกไฟล์ที่มีประสิทธิภาพสำหรับ Windows
นักพัฒนาไมโครซอฟต์
ปล่อยปี 1996 เมื่อ 29-30 ปีที่แล้ว
ระบบปฏิบัติการระบบปฏิบัติการ Windows NT 4และรุ่นที่ใหม่กว่า
รวมอยู่กับระบบปฏิบัติการ Windows Vistaและเวอร์ชันที่ใหม่กว่า
พิมพ์สั่งการ
ใบอนุญาตซอฟต์แวร์ฟรี
เว็บไซต์เรียนรู้.microsoft .com /en-us /windows-server /administration /windows-commands /robocopy

Robocopyเป็น ยูทิลิตี้ การถ่ายโอนไฟล์แบบบรรทัดคำสั่ง สำหรับWindowsมีฟังก์ชันการทำงานที่ครอบคลุมมากกว่า คำสั่ง และแต่ไม่ได้แทนที่คำสั่งใดคำสั่งหนึ่ง สร้างโดย Kevin Allen [ 1 ]และเปิดตัวครั้งแรกเป็นส่วนหนึ่งของWindows NT 4.0 Resource Kitและเป็นคุณสมบัติมาตรฐานของ Windows มาตั้งแต่Windows VistaและWindows Server 2008 COPYXCOPY

คุณสมบัติ

Robocopy มีคุณสมบัติที่ไม่มีอยู่ใน คำสั่ง COPYพื้นฐานXCOPYรวมถึง:

  • กู้คืนจากปัญหาการเชื่อมต่อเครือข่ายขาดหายชั่วคราว ไฟล์ที่ไม่สมบูรณ์จะถูกทำเครื่องหมายด้วยวันที่ 1 มกราคม 1970 และมีบันทึกการกู้คืนเพื่อให้ Robocopy รู้ว่าจะดำเนินการต่อจากจุดใด
  • การตรวจจับและข้ามจุดเชื่อมต่อ NTFSซึ่งในบางกรณีอาจทำให้การคัดลอกล้มเหลวเนื่องจากลูปไม่สิ้นสุด (โดยใช้/XJสวิตช์)
  • การรักษาข้อมูลในรูปแบบใดก็ได้ต่อไปนี้: เนื้อหาไฟล์ คุณลักษณะ เมตาเดตา (เช่น เวลาประทับต้นฉบับ) และACL ของ NTFS (DACL, SACL และเจ้าของไฟล์)
    • ตัวอย่างเช่น การคัดลอก ACL จากไฟล์หนึ่งไปยังอีกไฟล์หนึ่ง ก่อนเวอร์ชัน XP026 ความสามารถนี้จำกัดเฉพาะไฟล์เท่านั้น ไม่รวมถึงโฟลเดอร์
  • การใช้สิทธิ์ "สำรองข้อมูลไฟล์และไดเร็กทอรี" ของ Windows NTSeBackupPrivilege ( โดยปกติจะไม่สามารถใช้งานได้กับบัญชีผู้ใช้ทั่วไป) เพื่อข้าม ACL ของ NTFS ที่อาจขัดขวางการถ่ายโอน (ต้องใช้/Bสวิตช์) [ 2 ] [ 3 ]
  • โดยค่าเริ่มต้นจะบันทึกไฟล์อย่างต่อเนื่อง พร้อมกำหนดจำนวนครั้งที่สามารถลองใหม่โดยอัตโนมัติได้ หากไม่สามารถคัดลอกไฟล์ได้
  • โหมดมิเรอร์ ซึ่งจะทำให้โครงสร้างไดเร็กทอรีทั้งสองตรงกัน โดยจะลบไฟล์ในปลายทางที่ไม่มีอยู่ในต้นทางด้วย
  • ข้ามไฟล์ที่อยู่ในโฟลเดอร์ปลายทางอยู่แล้ว เนื่องจากมีขนาดและเวลาประทับที่เหมือนกัน
  • ตัวชี้วัดความคืบหน้า
  • รองรับเส้นทางที่เกิน 259 ตัวอักษร จนถึงขีดจำกัดทางทฤษฎีประมาณ 32,000 ตัวอักษร[ 4 ]
  • รหัสผลลัพธ์ที่บ่งชี้ความสำเร็จหรือความล้มเหลว ใช้ในระบบอัตโนมัติ[ 5 ]
  • การคัดลอกแบบมัลติเธรด (เปิดตัวพร้อมกับWindows 7และWindows Server 2008 R2 ) [ 6 ]
  • รองรับ การบีบอัดข้อมูล แบบ Server Message Block (SMB) (เปิดตัวในWindows 10และWindows Server 2019 )
    • หาก/compressระบุแล้ว คอมพิวเตอร์ปลายทางรองรับการบีบอัด SMB และไฟล์ที่กำลังคัดลอกสามารถบีบอัดได้ การดำเนินการจะได้รับประโยชน์จากประสิทธิภาพที่ดีขึ้นอย่างมาก[ 7 ] [ 8 ]

ใช้

ไวยากรณ์ของ Robocopy แตกต่างจากรุ่นก่อนหน้าอย่างcopyและxcopy อย่างเห็นได้ชัด โดยจะรับเฉพาะชื่อโฟลเดอร์โดยไม่มีเครื่องหมายแบ็กสแลชต่อท้ายเป็นอาร์กิวเมนต์ต้นทางและปลายทาง ชื่อไฟล์และอักขระตัวแทน (เช่น*และ?) ไม่สามารถใช้เป็นอาร์กิวเมนต์ต้นทางหรือปลายทางได้ สามารถเลือกหรือยกเว้นไฟล์ได้โดยใช้อาร์กิวเมนต์การกรองไฟล์เสริม (ซึ่งรองรับอักขระตัวแทน) พร้อมกับตัวเลือกอื่นๆ อีกมากมาย[ 9 ]ไฟล์ที่มีชื่อ จะถูกคัดลอกจากโฟลเดอร์ที่เลือกสำหรับการคัดลอกเท่านั้น ไม่รองรับชื่อพาธแบบเต็ม

ตามการทำงานปกติใน Windows การจับคู่ชื่อคำสั่งจะไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก หากมีการระบุตัวเลือกมากกว่าหนึ่งรายการ จะต้องคั่นด้วยช่องว่างและหากชื่อไดเร็กทอรีมีอักขระพิเศษ เช่น ช่องว่าง จะต้องใส่เครื่องหมายอัญประกาศคู่ล้อมรอบ[ 10 ]

Robocopy จะรายงานชื่อของแต่ละไดเร็กทอรีที่พบ โดยเรียงตามลำดับตัวอักษร แต่ละชื่อจะมีจำนวนไฟล์ในไดเร็กทอรีนั้นที่ตรงตามเกณฑ์การคัดลอกนำหน้าอยู่ หากไดเร็กทอรีนั้นยังไม่มีอยู่ในปลายทาง จะถูกทำเครื่องหมายว่า "New Dir" หากไดเร็กทอรีว่างเปล่าและไม่ได้ใช้ตัวเลือก /E หรือไม่มีไฟล์ใดตรงตามเกณฑ์ ไดเร็กทอรีใหม่จะไม่ถูกสร้างขึ้น หากไม่ได้ใช้ตัวเลือก /NFL (no file names in log) ไฟล์ที่กำลังคัดลอกจะถูกแสดงรายการต่อท้ายชื่อของไดเร็กทอรีที่ไฟล์นั้นอยู่ ในตอนท้ายของผลลัพธ์จะมีตารางแสดงจำนวนไดเร็กทอรี ไฟล์ และไบต์ สำหรับแต่ละรายการ ตารางจะแสดงจำนวนทั้งหมดที่พบในแหล่งที่มา จำนวนที่คัดลอก (รวมถึงไดเร็กทอรีที่ทำเครื่องหมายว่า "New Dir" แม้ว่าจะไม่ได้คัดลอกก็ตาม) จำนวนที่ข้ามไป (เนื่องจากมีอยู่แล้วในปลายทาง) และจำนวนที่ไม่ตรงกันล้มเหลวและส่วนเกิน คำว่า "ล้มเหลว" อาจหมายความว่าเกิดข้อผิดพลาดในการอ่าน/เขียนไฟล์ ทำให้ไม่สามารถคัดลอกไฟล์ได้ หรือถูกปฏิเสธการเข้าถึง นอกจากนี้ยังมีแถวแสดงเวลาที่ใช้ไป (ซึ่งดูเหมือนว่าเวลาที่ใช้ไปกับไฟล์ที่ล้มเหลวจะอยู่ในคอลัมน์ที่ไม่ถูกต้อง)

การจำกัดแบนด์วิดท์

ตัว เลือก ช่องว่างระหว่างแพ็กเก็ต (IPG) ช่วยให้สามารถควบคุมแบนด์วิดท์ของเครือข่ายได้ ในทางทฤษฎี สูตรต่อไปนี้แสดงถึงความล่าช้า ( D ในหน่วยมิลลิวินาที) ที่จำเป็นในการจำลองแบนด์วิดท์ที่ต้องการ (BDในหน่วยกิโลบิตต่อวินาที ) บนลิงก์เครือข่ายที่มีแบนด์วิดท์ที่ใช้งานได้BD kbps :

ในทางปฏิบัติ อย่างไรก็ตาม มักต้องมีการทดลองเพื่อหาค่าหน่วงเวลาที่เหมาะสม เนื่องจากปัจจัยต่างๆ เช่น ลักษณะและปริมาณของการรับส่งข้อมูลอื่นๆ บนเครือข่าย วิธีการที่ใช้โดยตัวเลือก IPG อาจไม่ให้การควบคุมในระดับเดียวกับเทคโนโลยีการจำกัดแบนด์วิดท์อื่นๆ เช่นBITS (ซึ่งใช้โดยWindows Updateและ BranchCache)

ข้อจำกัด

ไม่คัดลอกไฟล์ที่เปิดอยู่

กระบวนการสามารถล็อกไฟล์เพื่อการเข้าถึงการอ่านแบบพิเศษได้[ 11 ]โดยปกติแล้วบริการสำเนาเงาของวอลุ่มจะถูกใช้สำหรับสถานการณ์ดังกล่าว แต่ Robocopy ไม่ได้ใช้ ดังนั้น Robocopy จึงไม่เหมาะสำหรับการสำรองข้อมูลวอลุ่มที่มีการทำงานอยู่ อย่างไรก็ตาม ยูทิลิตี้เช่น ShadowSpawn [ 12 ]หรือ DiskShadow [ 13 ] (ที่รวมอยู่ในWindows Server 2008 ) สามารถใช้ล่วงหน้าเพื่อสร้างสำเนาเงาของวอลุ่มที่กำหนด ซึ่ง Robocopy สามารถสำรองข้อมูลได้ในภายหลัง

เวอร์ชันบนระบบปฏิบัติการที่เก่ากว่า Windows Vista จะไม่แสดงผลอย่างถูกต้อง

พวกเขาเพิกเฉยต่อคุณลักษณะด้านความปลอดภัยที่เปลี่ยนแปลงไปของไฟล์ที่จำลองไว้ก่อนหน้านี้[ 14 ] [ 15 ]

ความคืบหน้าแบบมัลติเธรด

เมื่อระบุ/MT[:n]ตัวเลือกเพื่อเปิดใช้งานการคัดลอกแบบมัลติเธรด/NPตัวเลือกในการปิดใช้งานการรายงานเปอร์เซ็นต์ความคืบหน้าสำหรับไฟล์จะถูกละเว้น โดยค่าเริ่มต้น สวิตช์ MT จะให้เธรด 8 เธรด n คือจำนวนเธรดที่คุณระบุหากคุณไม่ต้องการใช้ค่าเริ่มต้น[ 16 ]

การสำรองข้อมูลรูท

ปัญหาที่พบมานานกับ Robocopy คือ หากคุณสำรองข้อมูลจากโฟลเดอร์รากของไดรฟ์ [เช่นrobocopy d:\ b:\d-backup\ ....] ไฟล์ปลายทางจะได้รับแอตทริบิวต์รวมถึง SH ซึ่งหมายความว่าไฟล์เหล่านั้นจะไม่สามารถมองเห็นได้ด้วยการเข้าถึงปกติ (รวมถึง DIR ใน cmd.exe) วิธีแก้ไขคือ เพิ่มคำสั่งต่อไปนี้/a-:SHลงในบรรทัดคำสั่งของ robocopy หรือใช้คำสั่ง ATTRIB เพื่อลบแอตทริบิวต์เหล่านั้นออกในภายหลัง

ตัวอย่าง

คำสั่งต่อไปนี้จะคัดลอกไฟล์สองไฟล์จากโฟลเดอร์c:\barหนึ่งไปยังอีก โฟลเดอร์หนึ่ง c:\baz:

> robocopy c:\bar c:\baz file1.txt file2.db 

เพื่อคัดลอกไฟล์ PDF ทั้งหมดจากc:\barไปยังc:\baz:

> robocopy c:\bar c:\baz *.pdf 

คำสั่งต่อไปนี้จะคัดลอกเนื้อหาไดเร็กทอรีจากDirectory AไปยังDirectory Bรวมถึงข้อมูลไฟล์ คุณลักษณะ และการประทับเวลา โดยทำซ้ำกับไดเร็กทอรีว่างเปล่า ( /E):

> robocopy "C:\Directory A" "C:\Directory B" /E 

คำสั่งต่อไปนี้จะคัดลอกไดเร็กทอรีแบบเรียกซ้ำ ( /E), คัดลอกข้อมูลไฟล์ ( /COPYALL, เทียบเท่ากับ/COPY:DATSOU, D=ข้อมูล, A=คุณลักษณะ, T=การประทับเวลา, S=ความปลอดภัย= NTFS ACLs , O=ข้อมูลเจ้าของ, U=ข้อมูลการตรวจสอบ), จะไม่ลองคัดลอกไฟล์ที่ถูกล็อกซ้ำ ( /R:0) (จำนวนครั้งที่ลองคัดลอกซ้ำเมื่อการคัดลอกล้มเหลวมีค่าเริ่มต้นที่ 1 ล้านครั้ง), และจะรักษาการประทับเวลาของไดเร็กทอรีเดิมไว้ ( /DCOPY:T- ต้องใช้เวอร์ชัน XP026 หรือใหม่กว่า):

> robocopy C:\AC:\B /COPYALL /E /R:0 /DCOPY:T 

คำสั่งต่อไปนี้จะคัดลอกข้อมูลจาก A ไปยัง B โดยจะทำลายไฟล์ใดๆ ใน B ที่ไม่มีอยู่ใน A ( /MIR) และจะคัดลอกต่อในโหมดดำเนินการต่อ ( /Z) ในกรณีที่การเชื่อมต่อเครือข่ายขาดหาย:

> robocopy C:\A \\backupserver\B /MIR /Z 

อินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI)

แม้ว่าRobocopy จะเป็นเครื่องมือบรรทัดคำสั่งแต่Microsoft TechNetก็ได้จัดเตรียมส่วนติดต่อผู้ใช้แบบกราฟิก ( GUI ) ที่เรียกว่า Robocopy GUI ซึ่งพัฒนาโดย Derk Benisch วิศวกรระบบของกลุ่ม MSN Searchที่ Microsoft และต้องใช้ . NET Framework 2.0 [ 17 ]ซึ่งรวมถึงสำเนาของ Robocopy เวอร์ชัน XP026 ปัจจุบันไม่มีให้บริการจาก Microsoft แล้ว แต่สามารถดาวน์โหลดได้จากWayback MachineของInternet Archive [ 18 ]

เวอร์ชัน

Robocopy ทุกเวอร์ชันจะบันทึกหมายเลขเวอร์ชันและวันที่วางจำหน่ายไว้ในส่วนหัวของไฟล์ปฏิบัติการ ซึ่งสามารถดูได้ด้วยFile ExplorerหรือPowerShellบางเวอร์ชันอาจแสดงหมายเลขเวอร์ชันในผลลัพธ์ที่แสดงออกมา

เวอร์ชันผลิตภัณฑ์เวอร์ชันไฟล์ปีรวมเข้ากับ
1.54 พ.ศ. 2539ชุดทรัพยากร Windows NT 4.0
1.70 พ.ศ. 2540ชุดทรัพยากร Windows NT
1.71 4.0.1.71พ.ศ. 2540ชุดทรัพยากร Windows NT
1.95 4.0.1.951999ชุดทรัพยากร Windows 2000
1.96 4.0.1.961999ชุดทรัพยากร Windows 2000
XP010 5.1.1.10102003ชุดทรัพยากร Windows 2003
XP026 5.1.2600.262548Robocopy GUI เวอร์ชัน 3.1.2
XP027 5.1.10.10272008Windows Vista , Server 2008 , 7 , 2008 R2
6.1 6.1.76012009KB2639043
เหมือนกับ Windows Windows 8และเวอร์ชันที่ใหม่กว่า, Windows Server 2012และเวอร์ชันที่ใหม่กว่า

ดูเพิ่มเติม

  • เอกสารประกอบการใช้งาน RobocopyบนMicrosoft Learn
  • เอกสารประกอบการใช้งาน RoboCopyบนเว็บไซต์ SS64.com
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Robocopy&oldid=1355165686 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ โรโบคอปปี้

Robocopy เป็น ยูทิลิตี้ การถ่ายโอนไฟล์ แบบบรรทัดคำสั่ง สำหรับ Windows มีฟังก์ชันการทำงานที่ครอบคลุมมากกว่า คำสั่ง และแต่ไม่ได้แทนที่คำสั่งใดคำสั่งหนึ่ง สร้างโดย Kevin Allen [ 1 ]...

คุณสมบัติ

Robocopy มีคุณสมบัติที่ไม่มีอยู่ใน คำสั่ง COPY พื้นฐาน XCOPY รวมถึง:

ใช้

ไวยากรณ์ของ Robocopy แตกต่างจากรุ่นก่อนหน้าอย่าง copy และ xcopy อย่างเห็นได้ชัด โดยจะรับเฉพาะชื่อโฟลเดอร์โดยไม่มีเครื่องหมายแบ็กสแลชต่อท้ายเป็นอาร์กิวเมนต์ต้นทางและปลายทาง ชื่อไฟล์และ อักขระตัวแทน (เช่น * และ ?

การจำกัดแบนด์วิดท์

ตัว เลือก ช่องว่างระหว่างแพ็กเก็ต (IPG) ช่วยให้สามารถควบคุมแบนด์วิดท์ของเครือข่ายได้ ในทางทฤษฎี สูตรต่อไปนี้แสดงถึงความล่าช้า ( D ในหน่วยมิลลิวินาที) ที่จำเป็นในการจำลองแบนด์วิดท์ที่ต้องการ (BD ใน หน่วย กิโล บิต ต่อวินาที )...