หากคุณต้องการรันคำสั่งหลายคำสั่งด้วย 1 บรรทัดที่คุณกำลังเริ่มคำสั่งด้วยstartเช่นหากคุณต้องการรันคำสั่งแบบนี้:
start "" netsh dump && pause
จากนั้นคุณต้องดำเนินการใน 2 ขั้นตอน (โซลูชันหนึ่งบรรทัดอยู่ท้ายคำตอบนี้)
ก่อนอื่นให้เขียนคำสั่งไปยังไฟล์แบตช์ชั่วคราว (ในกรณีนี้คุณสามารถใช้&หรือ&&):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd
โปรดทราบว่าคุณต้อง "หลบหนี" แต่ละอันด้วย"&"sเครื่องหมายแอมเปอร์แซนด์"^"
เพื่อให้พวกเขาถือว่าเป็นอักขระสามัญในechoคำสั่ง หรือคุณสามารถสร้างไฟล์แบตช์ชั่วคราวด้วยตัวแก้ไขข้อความเช่น Notepad
จากนั้นใช้startเพื่อเริ่มแบตช์ไฟล์:
start "" foobar.cmd
-or-
start "" "temporary foobar.cmd"
หมายเหตุ:คู่ที่ว่างเปล่าของเครื่องหมายคำพูดคู่สำหรับ"Title"นั้นจะปรากฏในแถบชื่อเรื่องของหน้าต่างคำสั่งที่startจะเปิด "Title"อาร์กิวเมนต์นี้เป็นเทคนิคที่เป็นทางเลือกอาร์กิวเมนต์startแต่จำเป็นจริง ๆถ้าคำสั่งที่startจะเรียกใช้จะถูกยกมาสองครั้ง ตัวอย่างเช่นในตัวอย่างที่สอง:
start "" "temporary foobar.cmd"
หากคุณไม่ใส่เครื่องหมายอัญประกาศคู่ว่างเช่นนี้:
start "temporary foobar.cmd"
จากนั้นstartจะเปิดหน้าต่างคำสั่งใหม่และใช้"temporary foobar.cmd"เป็นหน้าต่างคำสั่งใหม่"Title"และจะไม่มีการดำเนินการใด ๆ ในหน้าต่างคำสั่งใหม่)
หากคุณต้องการstartรอให้ไฟล์แบตช์เสร็จสมบูรณ์ (หลังจากpauseถูกไล่ออก) ก่อนที่จะstartเสร็จสมบูรณ์คุณต้องเพิ่ม/wสวิตช์ไปยังstartคำสั่ง:
start "" /w foobar.cmd
คุณสามารถรวมทั้งหมดเข้าด้วยกันในหนึ่งบรรทัดและแม้แต่ลบ (ลบ) ไฟล์แบตช์ชั่วคราว ( foobar.cmd):
echo netsh dump ^&^& pause ^&^& exit>foobar.cmd && start "" /w foobar.cmd && del foobar.cmd
-or-
echo netsh dump ^& pause ^& exit>foobar.cmd & start "" /w foobar.cmd & del foobar.cmd
โปรดทราบว่าหากคุณจะลบไฟล์แบตช์ชั่วคราวคุณจะต้องรันstartด้วย/wสวิตช์มิฉะนั้นไฟล์แบทช์ชั่วคราวอาจถูกลบก่อนที่จะมีโอกาสเรียกใช้
&และ&&ใช้ได้เฉพาะใน Windows 'cmd.exe- ซึ่งไม่ใช่ DOS