ฉันต้องยอมรับว่าฉันลืมความซับซ้อนของรูปแบบการตั้งชื่อสำหรับ Nant (เช่นที่ใช้ในชุดไฟล์) เครื่องหมายดอกจันคู่ / ดอกจันเดี่ยวดูเหมือนจะเป็นสิ่งที่ลืมไม่ลงในความคิดของฉัน
ใครสามารถให้คำแนะนำที่ชัดเจนเกี่ยวกับรูปแบบการตั้งชื่อได้หรือไม่?
ฉันต้องยอมรับว่าฉันลืมความซับซ้อนของรูปแบบการตั้งชื่อสำหรับ Nant (เช่นที่ใช้ในชุดไฟล์) เครื่องหมายดอกจันคู่ / ดอกจันเดี่ยวดูเหมือนจะเป็นสิ่งที่ลืมไม่ลงในความคิดของฉัน
ใครสามารถให้คำแนะนำที่ชัดเจนเกี่ยวกับรูปแบบการตั้งชื่อได้หรือไม่?
คำตอบ:
กฎคือ:
อีกวิธีหนึ่งในการคิดก็คือ double star (**) ตรงกับ slash (/) แต่ single star (*) ไม่มี
สมมติว่าคุณมีไฟล์:
จากนั้นรูปแบบ:
*.c
ไม่ตรงกับอะไรเลย (ไม่มีไฟล์. c ในไดเร็กทอรีปัจจุบัน)src/*.c
ตรงกับ 2 และ 3*/*.c
จับคู่ 2 และ 3 (เพราะ * ตรงเพียงระดับเดียว)**/*.c
จับคู่ 2, 3 และ 4 (เพราะ ** ตรงกับจำนวนระดับใดก็ได้)bar.*
ตรงกับ 1**/bar.*
ตรงกับ 1 และ 2**/bar*.*
ตรงกับ 1, 2 และ 4src/ba?.c
การแข่งขัน 2 และ 3
**.c
ตรงกับอะไร?
bar.txt
คือโดยปริยาย./bar.txt
( .
หมายถึงไดเร็กทอรีปัจจุบัน) ดังนั้นรายการที่เป็นจริง./bar.txt
, ./src/bar.c
ฯลฯ และ./
จะถือว่า
นี่คือการจับคู่รูปแบบพิเศษบางส่วนซึ่งไม่ชัดเจนจากเอกสารประกอบ ทดสอบโดยใช้ NAnt สำหรับไฟล์ตัวอย่างในคำตอบของ benzado:
src**
ตรงกับ 2, 3 และ 4**.c
ตรงกับ 2, 3 และ 4**ar.*
ตรงกับ 1 และ 2**/bartest.c/**
การแข่งขัน 4src/ba?.c/**
ตรงกับ 2 และ 3เครื่องหมายดอกจันคู่ ( **
) เชื่อมโยงกับการจับคู่ชื่อโฟลเดอร์ในขณะที่สัญลักษณ์ดอกจัน ( * = multi characters
) และเครื่องหมายคำถาม ( ? = single character
) ใช้เพื่อจับคู่ชื่อไฟล์
ตรวจสอบการอ้างอิง Nant รูปแบบไฟล์เซ็ตคือ:
"*" จับคู่อักขระศูนย์ขึ้นไปเช่น * .cs
"?" จับคู่อักขระหนึ่งตัวเช่น? .cs
และ '**' ตรงกับแผนผังไดเร็กทอรีเช่น src / ** / * cs จะพบไฟล์ cs ทั้งหมดในไดเร็กทอรีย่อยของ src