ตัวเลือกงานและการตรวจสอบของ RoboCopy


21

ตัวเลือกงานของ RoboCopy ทำอะไรได้บ้าง และสิ่งที่ไม่/MONและ/MOTสวิทช์ทำอย่างไร ฉันจะใช้มันได้อย่างไร ฉันไม่เข้าใจพวกเขาและไม่พบตัวอย่างใด ๆ เกี่ยวกับวิธีใช้พวกเขา

  • / MON: n - แหล่งที่มาของการตรวจสอบ; ทำงานอีกครั้งเมื่อพบการเปลี่ยนแปลงมากกว่า n รายการ
  • / MOT: m - แหล่งที่มาของ MOnitor; ทำงานอีกครั้งใน m นาทีเวลาหากมีการเปลี่ยนแปลง

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

  • / JOB: jobname - รับพารามิเตอร์จากไฟล์ JOB ชื่อ
  • / SAVE: jobname - บันทึกพารามิเตอร์ไปยังไฟล์งานที่มีชื่อ
  • / QUIT - QUIT หลังจากประมวลผลบรรทัดคำสั่ง (เพื่อดูพารามิเตอร์)
  • / NOSD - ไม่มีการระบุไดเรกทอรีต้นทาง
  • / NODD - ไม่มีการระบุไดเรกทอรีปลายทาง
  • / IF - รวมไฟล์ต่อไปนี้

ไฟล์งานคืออะไร? คืออะไร/NOSDและ/NODDสวิทช์หรือไม่?


คำถามที่ดีและจนกว่าฉันจะเห็นแท็กของคุณผมไม่ได้ตระหนัก robocopy เป็นส่วนหนึ่งของ Windows 7 :-)
Chris_K

ขอบคุณ! คิดว่าเป็นส่วนหนึ่งของ Vista เช่นกัน แต่ฉันใช้ Windows 7 ดังนั้นตบที่นั่น ฉันไม่รู้เกี่ยวกับเครื่องมือนี้เมื่อสองสามวันก่อน: D
Svish

1
Robocopy ได้รับการรวมมาตรฐานตั้งแต่ Windows Vista และ Windows Server 2008 ก่อนหน้านั้นมีให้บริการแบบสาธารณะตั้งแต่ v1.7 เป็นเครื่องมือในชุดทรัพยากรของ Windows ตั้งแต่ 3.51 (และก่อนหน้านั้นเป็นที่ทราบกันดีว่าพนักงานของ MS เป็น "ที่ ยูทิลิตี้การคัดลอกที่ยอดเยี่ยมที่ Kevin เขียน ... ")
Jessica McKinnon

คำตอบ:


6

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

ใช่. / MON นับจำนวนไฟล์ที่เปลี่ยนแปลง / MOT นับเวลา

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

หน้านี้ระบุว่ามันจะทำงานจนกว่าคุณจะขัดจังหวะการทำงานเช่นกับ control-C

(เพิ่มเป็นคำตอบแทนที่จะเป็นความคิดเห็นเพราะ StackExchange ไม่อนุญาตให้ฉันเขียนความคิดเห็นโดยไม่มีชื่อเสียง 50 และฉันมี 1 ชื่อเสียงหลังจาก 3 ปี)


6

ตัวอย่างที่อธิบายได้ดีที่สุด:

นี่คือไฟล์งานเล็กน้อยเรียกว่าsample.rcj:

:: Source Directory :
    /SD:C:\Documents and Settings\  :: Source Directory.

:: Destination Directory :
::  On command line

:: Copy options :
    /E      :: copy Subdirectories, including empty ones.

มันระบุตัวเลือกในการคัดลอกc:\Documents and Settingsไดเรกทอรีของเครื่องปัจจุบันไปยังตำแหน่งที่ไม่ได้ระบุ

นี่คือวิธีที่คุณจะใช้เพื่อคัดลอกไปยังปลายทางที่ระบุใน%DEST%ตัวแปรสภาพแวดล้อมโดยเพิ่มการบันทึกลงใน%LOG%ไฟล์

robocopy /nosd %DEST% /log+:%LOG% /job:sample

/NOSD ได้รับเนื่องจากมีการระบุแหล่งที่มาในไฟล์งาน

คุณสามารถเล่นโดยสร้างคำสั่ง robocopy บนบรรทัดคำสั่งจากนั้นเมื่อคุณพอใจที่ทำสิ่งที่คุณต้องการแล้วเรียกใช้อีกครั้ง/SAVEเพื่อบันทึกตัวเลือกลงในไฟล์

/QUIT แยกวิเคราะห์ตัวเลือกและจะบ่นหากคุณมีสิ่งผิดปกติ (ตัวเลือกที่ไม่ถูกต้องไม่มีแหล่งที่มา) แต่ไม่ได้ทำอะไรเลย

ฉันเดาว่า/IFจะให้คุณรวมไฟล์ของตัวเลือกเพิ่มเติมจากงานเอง? (ในตัวอย่างของฉันฉันสามารถใส่/LOGตัวเลือกในไฟล์และรวมไว้ด้วย/IF) เพียงแค่คาดเดาว่ามี


ฉันไม่รู้เกี่ยวกับตัวเลือก / MON และ MOT แต่ฉันสงสัยว่า shufler ทำให้ถูกต้อง ลองและแจ้งให้เราทราบ!
แรนดี้ออร์ริสัน

PS ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ที่นี่: detroitdavesraves.blogspot.co.uk/2011/08/...
JohnLBevan

5

/MONสแกนแหล่งที่มาและการทำสำเนาเมื่อตรวจพบการเปลี่ยนแปลง /MOTรันอีกครั้งในอีกnนาทีและคัดลอกการเปลี่ยนแปลงที่ตรวจพบ

/JOB ช่วยให้คุณระบุตัวเลือกในไฟล์ข้อความในกรณีที่คุณมีตัวเลือกมากมาย (เช่นการยกเว้น)

หวังว่าฉันจะรู้ว่าอะไร/NOSDและ/NODDทำตามที่ฉันไม่เคยมีเหตุผลที่จะใช้พวกเขา


คุณสามารถสร้างตัวอย่างของการใช้สวิตช์ / JOB นั้นได้หรือไม่? ฉันไม่สามารถได้รับมันในการทำงาน ...
Svish

ไฟล์ / job มีรายการสวิตช์ (หนึ่งรายการต่อบรรทัด) และพารามิเตอร์ นอกจากนี้คุณยังสามารถใช้สวิตช์ / save เพื่อส่งออกไฟล์งาน (.rcj) เพื่อใช้ในภายหลัง
shufler

/ MOT เรียกใช้ซ้ำทุก ๆ n นาทีเฉพาะเมื่อมีการเปลี่ยนแปลง (ดูที่คู่มือ: "ตรวจสอบแหล่งที่มาและทำงานอีกครั้งใน M นาทีหากตรวจพบการเปลี่ยนแปลง")
ndemou

3

จาก: http://www-pc.uni-regensburg.de/systemsw/tools/robocopy.doc

การตรวจสอบทรีไดเรกทอรีโดยใช้สวิตช์ / MON: n และ / MOT: m คุณสามารถตรวจสอบทรีไดเรกทอรีต้นทางสำหรับการเปลี่ยนแปลงและคัดลอกการเปลี่ยนแปลงตามและเมื่อเกิดขึ้น สวิตช์ / MON: n ระบุจำนวนการเปลี่ยนแปลงขั้นต่ำที่ต้องเกิดขึ้นก่อนที่จะทำงานอีกครั้ง สวิตช์ / MOT: m ระบุเวลาต่ำสุดเป็นนาทีที่ต้องผ่านไปก่อนที่จะทำงานอีกครั้ง หากคุณระบุหนึ่งในสวิตช์เหล่านี้เท่านั้นส่วนอื่น ๆ จะถือว่ามีค่าเป็น 1

เมื่อมีการระบุการตรวจสอบ Robocopy จะไม่มีวันยุติ แต่จะเข้าสู่ลูปที่ดำเนินการผ่าน Robocopy ปกติและจากนั้นตรวจสอบทรีไดเรกทอรีแหล่งข้อมูลสำหรับการเปลี่ยนแปลงจนกว่าจะมีการตรวจพบการเปลี่ยนแปลงทั้ง n และนาทีที่ผ่านไป เมื่อตรงตามเงื่อนไขทั้งสองจะต้องผ่าน Robocopy อีกรอบ กระบวนการทั้งหมดของการคัดลอกและการตรวจสอบซ้ำแล้วซ้ำอีกจนกว่าผู้ใช้จะยุติกระบวนการ Robocopy ด้วยตนเอง

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

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


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

Chrome ทำเครื่องหมายไฟล์เอกสารนี้ว่าเป็นมัลแวร์!
Aardvark

1

ตัวอย่างเช่นฉันใช้/MOTสวิตช์เพื่อให้ระบบไฟล์ DR ทันสมัยพร้อมสำเนาทุก ๆ 10 นาที ฉันเริ่ม robocopy เวลา 12.00 น. ด้วยภารกิจตามกำหนดเวลาและทำงานตลอดทั้งวันเพื่อคัดลอกการเปลี่ยนแปลงทุก ๆ 10 นาที ภารกิจตามกำหนดเวลาถูกตั้งค่าให้หยุดตัวเองหลังจาก 23h55m จากนั้น robocopy จะเริ่มโดยภารกิจของวันถัดไปเวลา 12.00 น. อีกครั้ง

แม้ว่า robocopy จะระบุจำนวนการเปลี่ยนแปลงในขณะที่รอเป็นเวลา 10 นาที แต่มันก็ยังสแกนโครงสร้างโฟลเดอร์ต้นทางทั้งหมดที่คุณได้ชี้ไป ดังนั้นควร จำกัด โครงสร้างของแหล่งที่มาให้แคบลงด้วยข้อยกเว้นบางประการของโฟลเดอร์ ( /XD <folder>) หากคุณทำได้


สนใจที่จะแบ่งปันสคริปต์ของคุณ?
Svish

0

อีกวิธีที่ง่ายในการทำคือเพียงแค่ใช้ / MIR switch และกำหนดตารางไฟล์แบ็ตเพื่อเรียกใช้ซ้ำแล้วซ้ำอีก มันจะทำการเปลี่ยนแปลงตามด้านแหล่งที่มา คุณต้องเรียกใช้สำเนาแบบเต็มก่อน

ตรวจสอบไฟล์บันทึกที่คุณจะเห็นผลลัพธ์ ยังใช้สวิตช์ / MT สำหรับมัลติเธรดทำสำเนาได้เร็วขึ้น


0

วิธีใช้งานไฟล์

ไฟล์งานถูกใช้เพื่อบันทึกและใช้ซ้ำบรรทัดคำสั่ง robocopy แบบยาว (ปกติ)

เพื่อสร้างไฟล์งาน Robocopy

ROBOCOPY C:\SRC C:\DST ...other.robocopy.options... /SAVE:TEST /QUIT

สิ่งนี้จะสร้างไฟล์งาน Robocopy ชื่อ TEST.RCJ พร้อมกับตัวเลือก Robocopy ทั้งหมดที่คุณระบุไว้ก่อนหน้าสวิตช์ / SAVE แล้วออกจากโดยไม่ทำการคัดลอกจริง

ในการใช้ไฟล์งานหนึ่งไฟล์ขึ้นไป

ROBOCOPY /JOB:TEST /JOB:JOBFILE2 ...other.options...

เพื่อดูหรือแก้ไขไฟล์งาน

เพียงแค่เปิดมันด้วยโปรแกรมแก้ไขข้อความ รูปแบบที่อธิบายด้วยตนเอง

เพื่อทดสอบไฟล์งาน

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

ROBOCOPY /JOB:JOBFILE1 /JOB:JOBFILE2 /QUIT

เพื่อสร้างไฟล์งานที่ไม่มีแหล่งที่มา / ปลายทาง

ในกรณีนี้ใช้ไวยากรณ์ต่อไปนี้:

ROBOCOPY /NOSD /NODD ...options... /SAVE:TEST /QUIT

เห็นได้ชัดว่า / NOSD และ / NODD หมายถึง NO Dir ต้นทางและ NO Dir ปลายทาง

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

เกี่ยวกับ / MON และ / MOT

ความเข้าใจของคุณของคู่มือถูกต้อง Robocopy ทำการตรวจจับและดำเนินการกับการเปลี่ยนแปลงใด ๆ จนกว่าคุณจะยุติมัน (เช่นด้วย Ctrl-C)


-1

ตรวจสอบเอกสารในTechnet


1
เอกสารนั้นไม่ได้พูดอะไรมากไปกว่าคำตอบที่ฉันพูด อย่างน้อยที่สุดเท่าที่ฉันสามารถดู ...
Svish

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