วิธีคัดลอกเฉพาะไฟล์ใหม่และเฉพาะไฟล์ที่ถูกแก้ไขหลังจากวันที่กำหนด?


25

ฉันต้องการคัดลอกไฟล์จากไดรฟ์หนึ่งไปยังอีกไดรฟ์ แต่ฉันต้องการคัดลอกไฟล์ต้นฉบับที่ใหม่กว่าไฟล์ปลายทาง แต่ฉันต้องการคัดลอกเฉพาะไฟล์ต้นฉบับที่มีการเปลี่ยนแปลงหลังจากวันที่กำหนด

ฉันรู้ว่าฉันสามารถใช้ xcopy เพื่อทำสิ่งใดสิ่งหนึ่งเหล่านี้ได้ แต่ฉันต้องการทำทั้งสองอย่างในเวลาเดียวกัน

ตัวอย่างเช่นฉันต้องการคัดลอกไฟล์ต้นฉบับทั้งหมดลงวันที่หรือหลังวันที่ 3/1/2556 แต่นอกจากนี้ฉันต้องการคัดลอกไฟล์หากไฟล์ต้นฉบับนั้นใหม่กว่าปลายทาง ดังนั้นฉันควรทำสิ่งนี้:

xcopy c:\*.* e:\*.* /D:03-01-2013

รวมกับบางสิ่งเช่นนี้:

xcopy c:\*.* e:\*.* /D

สามารถทำได้ด้วย xcopy หรือ Robocopy?

คำตอบ:


23

นี่อาจเป็นสิ่งที่คุณต้องการ:

Robocopy c:\ e:\ *.* /MAXAGE:20130301 /XO /E

เพิ่ม/Lคำสั่งลงในสิ่งนี้เพื่อดูว่ามันจะทำอะไรโดยที่มันไม่ได้ทำก่อนเพื่อให้แน่ใจ

ตรวจสอบที่นี่สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกของ Robocopy


2

เพียงใช้ตัวเลือกทั้งสองในคำสั่งเดียวกัน:

xcopy c:\*.* e:\*.* /D /D:03-01-2013

ทำให้คุณได้ในสิ่งที่คุณต้องการ


คุณจะทำอย่างไรถ้าคุณต้องการให้ไฟล์มีอายุอย่างน้อย 1 ชั่วโมง กล่าวอีกนัยหนึ่งอายุสัมพัทธ์นับจากนี้ไม่ใช่อายุที่แน่นอน
toddmo

@toddmo ดูเหมือนว่าทั้ง xcopy และ Robocopy สามารถกรองตามวันที่ไม่ใช่เวลา คุณจะต้องใช้ยูทิลิตี้อื่น ๆ หรือสิ่งที่ต้องการ FOR loop ด้วยคำสั่ง DIR / O: D
Malcolm

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

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