หากคุณต้องการรันคำสั่งหลายคำสั่งด้วย 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