อ่าน 6 นาที
โรโบคอปปี้
Robocopy เป็น ยูทิลิตี้ การถ่ายโอนไฟล์ แบบบรรทัดคำสั่ง สำหรับ Windows มีฟังก์ชันการทำงานที่ครอบคลุมมากกว่า คำสั่ง และแต่ไม่ได้แทนที่คำสั่งใดคำสั่งหนึ่ง สร้างโดย Kevin Allen [ 1 ]...
โรโบคอปปี้
| โรโบคอปปี้ | |
|---|---|
| ชื่ออื่นๆ | โปรแกรมคัดลอกไฟล์ที่มีประสิทธิภาพสำหรับ Windows |
| นักพัฒนา | ไมโครซอฟต์ |
| ปล่อย | ปี 1996 เมื่อ 29-30 ปีที่แล้ว |
| ระบบปฏิบัติการ | ระบบปฏิบัติการ Windows NT 4และรุ่นที่ใหม่กว่า |
| รวมอยู่กับ | ระบบปฏิบัติการ Windows Vistaและเวอร์ชันที่ใหม่กว่า |
| พิมพ์ | สั่งการ |
| ใบอนุญาต | ซอฟต์แวร์ฟรี |
| เว็บไซต์ | เรียนรู้ |
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 NT
SeBackupPrivilege( โดยปกติจะไม่สามารถใช้งานได้กับบัญชีผู้ใช้ทั่วไป) เพื่อข้าม 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 )
ใช้
ไวยากรณ์ของ 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.95 | 1999 | ชุดทรัพยากร Windows 2000 |
| 1.96 | 4.0.1.96 | 1999 | ชุดทรัพยากร Windows 2000 |
| XP010 | 5.1.1.1010 | 2003 | ชุดทรัพยากร Windows 2003 |
| XP026 | 5.1.2600.26 | 2548 | Robocopy GUI เวอร์ชัน 3.1.2 |
| XP027 | 5.1.10.1027 | 2008 | Windows Vista , Server 2008 , 7 , 2008 R2 |
| 6.1 | 6.1.7601 | 2009 | KB2639043 |
| เหมือนกับ Windows | Windows 8และเวอร์ชันที่ใหม่กว่า, Windows Server 2012และเวอร์ชันที่ใหม่กว่า | ||
ดูเพิ่มเติม
ลิงก์ภายนอก
- เอกสารประกอบการใช้งาน RobocopyบนMicrosoft Learn
- เอกสารประกอบการใช้งาน RoboCopyบนเว็บไซต์ SS64.com
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ โรโบคอปปี้
Robocopy เป็น ยูทิลิตี้ การถ่ายโอนไฟล์ แบบบรรทัดคำสั่ง สำหรับ Windows มีฟังก์ชันการทำงานที่ครอบคลุมมากกว่า คำสั่ง และแต่ไม่ได้แทนที่คำสั่งใดคำสั่งหนึ่ง สร้างโดย Kevin Allen [ 1 ]...
คุณสมบัติ
Robocopy มีคุณสมบัติที่ไม่มีอยู่ใน คำสั่ง COPY พื้นฐาน XCOPY รวมถึง:
ใช้
ไวยากรณ์ของ Robocopy แตกต่างจากรุ่นก่อนหน้าอย่าง copy และ xcopy อย่างเห็นได้ชัด โดยจะรับเฉพาะชื่อโฟลเดอร์โดยไม่มีเครื่องหมายแบ็กสแลชต่อท้ายเป็นอาร์กิวเมนต์ต้นทางและปลายทาง ชื่อไฟล์และ อักขระตัวแทน (เช่น * และ ?
การจำกัดแบนด์วิดท์
ตัว เลือก ช่องว่างระหว่างแพ็กเก็ต (IPG) ช่วยให้สามารถควบคุมแบนด์วิดท์ของเครือข่ายได้ ในทางทฤษฎี สูตรต่อไปนี้แสดงถึงความล่าช้า ( D ในหน่วยมิลลิวินาที) ที่จำเป็นในการจำลองแบนด์วิดท์ที่ต้องการ (BD ใน หน่วย กิโล บิต ต่อวินาที )...