ยกเว้นบางไฟล์ที่มีชื่อเดียวกันเมื่อคัดลอกโดยใช้ robocopy


15

ฉันมีโครงสร้างไดเรกทอรีเช่นนี้

folder1\
    help.txt
    folder2\
        help.txt
    folder3\
        help.txt
    ...

ฉันต้องการที่จะคัดลอกเนื้อหาของ folder1 ใช้robocopy ตัวอย่างเช่น:

robocopy folder1 destination /E

ฉันต้องการยกเว้นไฟล์ help.text ที่อยู่ใน folder1 แต่รวมไฟล์ help.txt ใน folder2, folder3 เป็นต้นนอกจากนี้ยังอาจมีไฟล์ชื่อ help.txt ที่อื่นในโครงสร้างไดเรกทอรีดังนั้นฉันจึงไม่ต้องลำบาก รหัสเส้นทางไปยังไฟล์ที่จะรวม

ฉันสามารถใช้คำสั่งต่อไปนี้เพื่อแยกไฟล์ทั้งหมดที่ชื่อว่า help.txt แต่มีวิธียกเว้นไฟล์ help.txt ในรูทของ folder1 หรือไม่?

robocopy folder1 destination /E /XF help.txt

คำตอบ:


15

คุณต้องรวมเส้นทางแบบเต็ม (รวมถึงไดรฟ์) ลงในไฟล์เพื่อแยก เส้นทางสัมพัทธ์จะไม่ทำงาน

งานนี้:

robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt"

สิ่งนี้ไม่:

robocopy folder1 destination /E /XF "folder1\help.txt"

ไม่ทำสิ่งนี้:

robocopy folder1 destination /E /XF ".\folder1\help.txt"

คุณสามารถยกเว้นหลายไฟล์เช่นดังนั้นrobocopy folder1 destination /E /XF "c:\file1" "c:\file2"
schnatterer

@ Dennis-Williamson ขอบคุณสำหรับคำตอบที่ถูก สงสารที่ไม่ได้ทำงานกับ wildcard: robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt*"นำไปสู่ข้อผิดพลาด
Olivier Faucheux

ดังนั้นหลังจากลองใช้คำสั่งอื่น ๆ 2 ชั่วโมงสิ่งนี้ก็ใช้ได้ ขอบคุณหนึ่งล้าน!
Christopher Chipps

0

ฉันไม่เห็นว่ามีวิธีใดที่จะทำเช่นนั้นด้วยชื่อไฟล์ คุณสามารถตั้งค่าแอตทริบิวต์ในไฟล์ที่คุณไม่ต้องการให้คัดลอกซึ่งคุณ "รู้" ไม่ได้อยู่ในไฟล์อื่น ๆ ในแผนผังต้นกำเนิดจากนั้นใช้ / xa เพื่อแยกไฟล์ที่มีแอตทริบิวต์นั้น

อย่างไรก็ตามหากไม่ปฏิบัติตามคุณจะต้องใช้เครื่องมืออื่น

สิ่งนี้จะได้ผล:

echo folder1\help.txt > \temp\excl.txt
xcopy /E folder1 destination /EXCLUDE:\temp\excl.txt

จริงๆแล้วถ้าคุณมีโครงสร้างไดเรกทอรีที่มีลักษณะเช่นนี้:

folder1\
  help.txt
  folder1\
    help.txt

มันอาจจะแยกไฟล์เหล่านั้นทั้งสองออก


ฉันเห็นว่าฉันผิด
wfaulk

0

คุณสามารถใช้% CD% เพื่อให้ไดเรกทอรีปัจจุบันแก่คุณ สิ่งนี้จะช่วยคุณในการแยกไดเรกทอรีเฉพาะ ความช่วยเหลือเพิ่มเติมอยู่ที่นี่:

/programming//a/5274061

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