หมายเลขไฟล์ไม่ตรงกันหลังจากคัดลอก


0

ฉันมีไฟล์ / โฟลเดอร์ประมาณ 3GB (ไฟล์ 47k, 15k โฟลเดอร์) บนเซิร์ฟเวอร์และฉันพยายามที่จะคัดลอกไปยังอีกโดเมนหนึ่งในโดเมนเดียวกันผ่าน LAN ทุกครั้งที่ฉันทำสำเนาเสร็จจำนวนของไฟล์ที่ถูกรายงานบนเซิร์ฟเวอร์ที่ถูกคัดลอกไปนั้นมีมากกว่าจำนวนที่มีอยู่ในเซิร์ฟเวอร์ดั้งเดิม

ฉันใช้ Windows copy (โดยใช้เมาส์) สองครั้งแรก ฉันใช้ robocopy (ก่อนกับ/Eพารามิเตอร์และด้วย/E /PURGE) ฉันมีไฟล์ 47,619 ไฟล์ / 15,335 โฟลเดอร์บนเซิร์ฟเวอร์เดิม ฉันมีไฟล์ 47,640 ไฟล์ / 15,335 โฟลเดอร์บนเซิร์ฟเวอร์ที่คัดลอก สองครั้งที่ฉันวิ่ง robocopy โดยที่พารามิเตอร์ดังกล่าวไม่ได้เปลี่ยนจำนวนไฟล์

มีใครผิดปกติหรือเปล่า?

รายละเอียดอื่น ๆ:

  1. เซิร์ฟเวอร์ทั้งสองเป็น Win Server SP1 Standard Ed
  2. เซิร์ฟเวอร์ที่ไฟล์ถูกคัดลอกไปยังมีฟรี 638 MB ใน C: แต่ฉันกำลังคัดลอกทุกอย่างไปยัง D: ซึ่งมีพื้นที่เพียงพอ
  3. ฉันใช้คำสั่งนั่งอยู่บนเซิร์ฟเวอร์ที่ไฟล์ถูกคัดลอกไป

ใช้ WinDiff (หรือโปรแกรมที่คล้ายกัน) เพื่อเปรียบเทียบแผนผังไดเรกทอรีสองรายการ (WinDiff จะทำงานกับที่อยู่ LAN ได้หรือไม่ไม่แน่ใจ) หากคุณยกเลิกการเลือกตัวเลือกเพื่อละเว้นไฟล์ที่เหมือนกันคุณควรปล่อยให้อยู่ในรายการ diffs support.microsoft.com/kb/159214 (มีรุ่นใหม่กว่าของ WinDiff)
therube

ขอบคุณ therube Windiff ดูเหมือนจะเป็นเครื่องมือที่ดีสำหรับกรณีเช่นนี้
Regmi

คำตอบ:


3

การคัดลอกด้วยเมาส์หมายความว่าคุณอาจใช้ Windows Explorer เพื่อคัดลอกไฟล์เหล่านั้นทั้งหมด ฉันประสบปัญหามากมายเกี่ยวกับสิ่งนี้ด้วยไฟล์จำนวนมากที่จัดเก็บอยู่ในหลาย ๆ ไดเรกทอรีที่ Windows Explorer คัดลอกไฟล์ไปยังไดเรกทอรีที่ไม่ถูกต้อง

ซึ่งหมายความว่า Windows Explorer อาจคัดลอกไฟล์บางไฟล์ไปยังตำแหน่งที่ไม่ถูกต้องและตอนนี้คุณมีไฟล์ซ้ำที่ปลายทาง - robocopy จะไม่สนใจไฟล์ที่ไม่ได้เขียนทับและนั่นคือวิธีที่คุณจะทำซ้ำสิ่งเหล่านี้

ในการค้นหารายการที่ซ้ำกันให้ใช้คำสั่ง DOS ต่อไปนี้เพื่อส่งออกโครงสร้างไดเรกทอรีไปยังไฟล์ข้อความบางส่วน (การดำเนินการเหล่านี้ใช้เวลาค่อนข้างนานดังนั้นคุณสามารถเริ่มต้นได้ทั้งสองในหน้าต่าง DOS แยกต่างหากจากนั้นไปจิบกาแฟ):

  • DIR / s / a / b [source-path] | เรียงลำดับ> file-listing-source.txt
  • DIR / s / a / b [target-path] | SORT> file-listing-target.txt

จากนั้นแก้ไขไฟล์เหล่านั้นด้วยการค้นหาและแทนที่เพื่อลบส่วนนำของพา ธ ที่ไม่ตรงกัน หลังจากนั้นให้เปรียบเทียบไฟล์กับคำสั่ง DOS ต่อไปนี้ (การดำเนินการนี้อาจใช้เวลาสักครู่ แต่ไม่ควรนานเท่าสองอันดับแรกเนื่องจากการเรียงลำดับได้ดำเนินการไปแล้วมีกาแฟอีกก้อน แต่สั่งขนาดเล็ก "" เวลานี้):

  • FC / a / l / n ไฟล์ - รายชื่อ - source.txt ไฟล์ - รายชื่อ - target.txt> ไฟล์ - รายการ - ความแตกต่าง -

จากนั้นดูเนื้อหาของ "file-listing.txt" เพื่อดูว่ามีอะไรแตกต่างกัน

(โดยรวมจะมีการสร้างไฟล์. txt ใหม่เพียงสามไฟล์เท่านั้น)


ฉันใช้ robocopy กับตัวเลือก "/ E / PURGE" ซึ่งโดยทั่วไปควรลบสิ่งที่มีอยู่ในโฟลเดอร์เป้าหมายหากไม่มีอยู่ในแหล่งที่มา อย่างไรก็ตามจะทำการเปรียบเทียบไดเรกทอรีและดู และฉันใช้ copy-paste เริ่มแรกเพื่อคัดลอกโฟลเดอร์หลักจากต้นทางไปยังเป้าหมาย
Regmi

1
ปฏิบัติตามคำแนะนำของคุณ เอฟซีไม่พบอะไรเลย จากนั้นฉันก็ล็อกออนเข้าสู่เซิร์ฟเวอร์ต้นทาง (rdp) และพบว่าการนับถูกต้องตรงนั้น! ตลอดเวลาที่ฉันนั่งอยู่บนเซิร์ฟเวอร์ปลายทางเปิดหน้าต่างที่มีอะไรบางอย่างเช่น "\\ SourceServer \ SourceDirectory" คลิกขวาที่ "SourceDirectory" เพื่อตรวจสอบการนับและด้วยวิธีนี้ทำให้นับน้อยลง นี่จะต้องเป็นข้อบกพร่องบางอย่างกับ Windows ขอบคุณ Randolf สำหรับคำแนะนำของคุณซึ่งนำไปสู่การค้นพบและการแก้ปัญหา!
Regmi

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