ฉันต้องยอมรับว่าฉันลืมความซับซ้อนของรูปแบบการตั้งชื่อสำหรับ 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