มีวิธีการ xcopy เพิ่งเปลี่ยนหรือไฟล์ใหม่หรือไม่?


57

ฉันกำลังพยายามปรับใช้เว็บไซต์จากเดสก์ท็อปของฉันไปยังเว็บเซิร์ฟเวอร์ตอนนี้ฉันกำลังทำสิ่งนี้:

 xcopy C:\source X:\destination /s

เดสก์ท็อปของฉันเป็นเครื่องที่ใช้ Windows XP และฉันต้องการคัดลอกไปยังเครื่องที่ใช้ Windows Server 2008 แต่สิ่งนี้จะคัดลอกทุกสิ่งและทั้งเว็บไซต์มีขนาดใหญ่มากและใช้เวลานานในการคัดลอกให้เสร็จ

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

นอกจากนี้ฉันเปิดให้ใช้อะไรนอกเหนือจาก xcopy ที่สามารถทำงานได้เช่นกัน ...


5
คุณสามารถลอง Robocopy
joerage

คำตอบ:


97

จากเอกสารXCOPY :

/ d [: mm-dd-yyyy]: คัดลอกไฟล์ต้นฉบับเปลี่ยนในหรือหลังวันที่ที่ระบุเท่านั้น หากคุณไม่ได้รวมค่า mm-dd-yyyy, xcopy คัดลอกไฟล์ต้นฉบับทั้งหมดที่ใหม่กว่าไฟล์ปลายทางที่มีอยู่ ตัวเลือกบรรทัดคำสั่งนี้ช่วยให้คุณสามารถอัปเดตไฟล์ที่มีการเปลี่ยนแปลง

ดังนั้นด้วยตัวอย่างของคุณควรอ่าน:

xcopy C:\source X:\destination /s /d

2
"/ d" ดูเหมือนคุณจะต้องให้มันเป็นวันที่ ตามที่กล่าวไว้ในคำถามฉันไม่มีวันที่ตัดออกในใจ ฉันแค่ต้องการคัดลอกไฟล์ใหม่และอัปเดต
leora

10
ไม่วันที่เป็นทางเลือก! นั่นเป็นเหตุผลว่าทำไมมันถึงอยู่ในวงเล็บเหลี่ยม คุณอ่านบรรทัดนั้นจริงหรือ มันบอกว่ามันทำสิ่งที่คุณต้องการให้ทำ!
Mark

4
สิ่งเดียวที่ต้องระวังเกี่ยวกับคำตอบนี้คือเว็บเซิร์ฟเวอร์และเวิร์กสเตชันของคุณตั้งค่าไว้ในเวลาเดียวกัน! หากพวกเขาไม่ได้ใช้ NTP ทั้งคู่อาจพลาดไฟล์หรือคัดลอกไฟล์มากกว่าที่จำเป็น
CarlF

5
ในขณะที่เอกสารระบุไว้อย่างแม่นยำมันง่ายที่จะมองข้าม/dเพราะมันไม่สำคัญว่าวันที่เป็นตัวเลือกจากนั้นดูที่ตัวเลือกอื่น ๆ และคิดว่าไม่มีวิธีแก้ปัญหา :-)
Stéphane Gourichon

2
หากไฟล์ไม่มีอยู่ในโฟลเดอร์ปลายทางดูเหมือนว่า / D โดยไม่ได้ระบุวันที่จะคัดลอกซึ่งอาจไม่ใช่ผลลัพธ์ที่ต้องการ
tbone

24

Robocopyเป็นทางเลือกที่ดีเช่นกัน:

โดยค่าเริ่มต้น Robocopy จะคัดลอกไฟล์เฉพาะในกรณีที่ต้นทางและปลายทางมีการประทับเวลาที่แตกต่างกันหรือขนาดไฟล์ที่แตกต่างกัน

นอกจากนี้คุณสามารถทำสิ่งต่างๆได้มากขึ้น - คำสั่งมิรเรอร์มีประโยชน์สำหรับเว็บไซต์ที่คุณลบไฟล์เช่นกัน


ขอบคุณที่กล่าวถึง robocopy - เป็นสิ่งที่ดีเสมอที่ได้เรียนรู้สาธารณูปโภคใหม่ ๆ
Casper Leon Nielsen

3

ใช้ตัวเลือก / A ไฟล์ใหม่หรือไฟล์ที่แก้ไขจะมีชุดคุณสมบัติการเก็บถาวร

ตรวจสอบลิงค์ด้านล่างเพื่อดูรายละเอียด:

ไวยากรณ์และคำสั่ง Xcopy


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

2

ฉันมีภารกิจตามกำหนดเวลาสำหรับไฟล์ ~ 80k และโฟลเดอร์ ~ 2k:

xcopy \\sourceserver\share\ Q:\backuptarget\folder\ /i /d /y /he /C /EXCLUDE:C:\backup\list.txt > C:\backup\backup.log

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

">" เขียนทับบันทึกในแต่ละครั้งหากคุณต้องการต่อท้ายคุณสามารถใช้ ">>" ไปป์


0

มีrsyncแต่ฉันไม่ได้ใช้ใน Windows วิธีที่ฉันใช้ตามปกติบน Linux คือ:

rsync -avuz src/ remote:dst/

ซึ่งจะส่งอัปเดตเท่านั้น (ไฟล์ใหม่และไฟล์ที่แก้ไขแล้ว)


-1

BitTorrent Syncทำงานได้อย่างยอดเยี่ยม มันจะอัปเดตโดยอัตโนมัติทุกครั้งที่คุณเปลี่ยนไฟล์ เพียร์กับเพื่อน อัปเดตหลาย ๆ ตำแหน่งพร้อมกันหากคุณต้องการ ง่ายต่อการใช้.

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