มีหลายวิธีในการแสดงความคิดเห็นในไฟล์แบทช์
1) ใช้ rem
นี่คือวิธีการอย่างเป็นทางการ ดูเหมือนว่าจะใช้เวลาในการดำเนินการนานกว่า::
แม้ว่าจะเห็นได้ชัดว่าหยุดการแยกวิเคราะห์ก่อนกำหนดก่อนที่ carets จะถูกประมวลผล ร้อยละการขยายตัวเกิดขึ้นก่อนที่จะ rem และ::
มีการระบุดังนั้นการใช้ร้อยละที่ไม่ถูกต้องเช่น%~
จะทำให้เกิดข้อผิดพลาดถ้าร้อยละมีอยู่ ปลอดภัยที่จะใช้ที่ใดก็ได้ในบล็อกรหัส
2) การใช้ป้ายกำกับ:
, ::
หรือ:;
อื่น ๆ
สำหรับ:: comment
, ': ความคิดเห็น' เป็นชื่อป้ายกำกับที่ไม่ถูกต้องเนื่องจากเริ่มต้นด้วยอักขระที่ไม่ถูกต้อง มันก็โอเคที่จะใช้เครื่องหมายทวิภาคตรงกลางของฉลาก หากพื้นที่เริ่มต้นที่จุดเริ่มต้นของฉลากจะถูกลบออกจะกลายเป็น: label
:label
หากมีช่องว่างหรือเครื่องหมายโคลอนปรากฏอยู่ตรงกลางของป้ายกำกับชื่อส่วนที่เหลือจะไม่ถูกแปลความหมายว่าหากมีป้ายกำกับสองป้าย:f:oo
และ:f rr
ทั้งคู่จะถูกตีความเป็น:f
และมีเพียงป้ายกำกับที่กำหนดในภายหลังในไฟล์เท่านั้นที่จะถูกข้ามไป ส่วนที่เหลือของฉลากแสดงความคิดเห็นได้อย่างมีประสิทธิภาพ มีทางเลือกหลายที่จะมี::
ระบุไว้ที่นี่ คุณไม่สามารถgoto
หรือฉลาก และจะไม่ทำงานcall
::foo
goto :foo
goto ::foo
มันทำงานได้ดีนอกบล็อคโค้ด แต่หลังจากที่เลเบลในบล็อคโค้ดไม่ถูกต้องหรือไม่จะต้องมีบรรทัดคำสั่งที่ถูกต้อง :: comment
เป็นอีกคำสั่งที่ใช้ได้จริง มันตีความมันเป็นคำสั่งและไม่ใช่ฉลาก; คำสั่งมีความสำคัญ ซึ่งเป็นคำสั่งให้ cd ไปยัง::
โวลุ่มซึ่งจะทำงานหากคุณดำเนินการsubst :: C:\
ไม่เช่นนั้นคุณจะได้รับข้อผิดพลาดของโวลุ่มไม่พบ นั่นเป็นเหตุผลว่าทำไม:;
เนื้อหาจึงดีกว่าเพราะไม่สามารถตีความได้ด้วยวิธีนี้ดังนั้นจึงตีความเป็นป้ายกำกับแทนซึ่งทำหน้าที่เป็นคำสั่งที่ถูกต้อง นี่ไม่ใช่แบบเรียกซ้ำคือป้ายกำกับถัดไปไม่จำเป็นต้องมีคำสั่งหลังจากนั้น นั่นเป็นเหตุผลที่พวกเขามาในสอง
echo something
คุณจำเป็นต้องให้คำสั่งที่ถูกต้องหลังจากเช่นฉลาก เลเบลในบล็อครหัสต้องมาพร้อมกับคำสั่งที่ถูกต้องอย่างน้อยหนึ่งคำดังนั้นบรรทัดจะมีสองคู่ คุณจะได้รับ)
ข้อผิดพลาดที่ไม่คาดคิดหากมีช่องว่างหรือวงเล็บปิดในบรรทัดถัดไป หากมีช่องว่างระหว่างสอง::
บรรทัดคุณจะได้รับข้อผิดพลาดทางไวยากรณ์ที่ไม่ถูกต้อง
คุณยังสามารถใช้ตัวดำเนินการคาเร็ตใน::
ความคิดเห็นดังนี้:
@echo off
echo hello
(
:;(^
this^
is^
a^
comment^
)
:;
)
:;^
this^
is^
a^
comment
:;
)
แต่คุณต้องการการติดตาม:;
เนื่องจากเหตุผลที่กล่าวไว้ข้างต้น
@echo off
(
echo hello
:;
:; comment
:; comment
:;
)
echo hello
มันใช้ได้ดีตราบใดที่มีเลขคู่ นี้ไม่ต้องสงสัยวิธีที่ดีที่สุดที่จะแสดงความคิดเห็น - มี 4 :;
เส้นและ ด้วย:;
คุณไม่ได้รับข้อผิดพลาดใด ๆ ที่จะต้องมีการระงับการใช้หรือ2> nul
subst :: C:\
คุณสามารถใช้subst :: C:\
เพื่อให้ปริมาณข้อผิดพลาดที่ไม่พบหายไป แต่มันหมายความว่าคุณจะต้องยังใส่ C: ::\
ในรหัสเพื่อป้องกันไม่ให้ไดเรกทอรีที่ทำงานของคุณจากการเป็น
หากต้องการแสดงความคิดเห็นในตอนท้ายของบรรทัดคุณสามารถทำได้
command &::
หรือcommand & rem comment
แต่จะต้องมีจำนวนคู่เช่น:
@echo off
(
echo hello & :;yes
echo hello & :;yes
:;
)
echo hello
เป็นครั้งแรกที่echo hello & :;yes
มีคำสั่งที่ถูกต้องในบรรทัดถัดไป แต่ครั้งที่สองไม่ได้ดังนั้นจึงต้องการอย่างใดอย่างหนึ่งคือ& :;yes
:;
3) การใช้ตัวแปรสภาพแวดล้อมที่ไม่ถูกต้อง
%= comment =%
. ในแบตช์ไฟล์ตัวแปรสภาพแวดล้อมที่ไม่ได้กำหนดจะถูกลบออกจากสคริปต์ &
ซึ่งทำให้มันเป็นไปได้ที่จะใช้พวกเขาในตอนท้ายของบรรทัดโดยไม่ต้องใช้ มันเป็นเรื่องปกติที่จะใช้ตัวแปรสภาพแวดล้อมที่ไม่ถูกต้องเช่นที่มีเครื่องหมายเท่ากับ ไม่จำเป็นต้องเพิ่มส่วนเกิน แต่ทำให้ดูสมมาตร นอกจากนี้ชื่อตัวแปรที่ขึ้นต้นด้วย "=" จะถูกสงวนไว้สำหรับตัวแปรแบบไดนามิกที่ไม่มีเอกสาร ตัวแปรแบบไดนามิกเหล่านั้นไม่สิ้นสุดด้วย "=" ดังนั้นเมื่อใช้ "=" ทั้งที่จุดเริ่มต้นและจุดสิ้นสุดของความคิดเห็นจะไม่มีความเป็นไปได้ของการปะทะกันของชื่อ ความคิดเห็นที่ไม่สามารถมีหรือ%
:
@echo off
echo This is an example of an %= Inline Comment =% in the middle of a line.
4) ในฐานะคำสั่งให้เปลี่ยนเส้นทาง stderr ไปเป็น nul
@echo off
(
echo hello
;this is a comment 2> nul
;this is another comment 2> nul
)
5) ในตอนท้ายของไฟล์ทุกอย่างหลังจากวงเล็บ unclosed คือความคิดเห็น
@echo off
(
echo hello
)
(this is a comment
this is a comment
this is a comment