จะเริ่มต้นแอปพลิเคชั่นโดยไม่รอเป็นไฟล์แบตช์ได้อย่างไร?


156

มีวิธีดำเนินการแอปพลิเคชั่นโดยไม่ต้องรอในไฟล์แบตช์หรือไม่? ฉันลองใช้startคำสั่งแล้ว แต่เพิ่งสร้างหน้าต่างคำสั่งใหม่


3
หมายเหตุ - สำหรับผู้ที่ทำสิ่งที่เกี่ยวข้องกับชุดแบทช์สคริปต์ของ Windows: หากกระบวนการCเป็นstart-ed ภายในcall-ed. bat-file B (ซึ่งต่อมาถูกเรียกจากA ) และCจะเปิดค้างอยู่หลังจากBเสร็จสิ้น (พูดCเป็นบริการหรือสิ่งที่รอให้สิ่งต่าง ๆ เกิดขึ้นและไม่มีจุดสิ้นสุดที่แน่นอนจนกว่าระบบปฏิบัติการจะปิดตัวลง) ผู้ปกครองAที่มีอยู่callอาจไม่สามารถยกเลิกได้ตามที่คาดไว้เว้นแต่กระบวนการCจะปิดลงหรือเป็น ถูกฆ่าตาย นี่คือตัวอย่างง่ายๆ: codepad.org/KLglXDnZ
SeldomNeedy

คำตอบ:


306

ฉันคาดเดาได้ที่นี่ แต่startการร้องขอของคุณอาจมีลักษณะเช่นนี้:

start "\Foo\Bar\Path with spaces in it\program.exe"

สิ่งนี้จะเปิดหน้าต่างคอนโซลใหม่โดยใช้“ \ Foo \ Bar \ Path พร้อมช่องว่างใน \ program.exe” เป็นชื่อเรื่อง

หากคุณใช้startกับบางสิ่งที่ (หรือต้องมี) ล้อมรอบด้วยเครื่องหมายคำพูดคุณต้องใส่เครื่องหมายอัญประกาศเป็นอาร์กิวเมนต์แรก:

start "" "\Foo\Bar\Path with spaces in it\program.exe"

นี่เป็นเพราะstartตีความอาร์กิวเมนต์ที่ยกมาเป็นครั้งแรกซึ่งพบว่าเป็นชื่อหน้าต่างสำหรับหน้าต่างคอนโซลใหม่


17
เคล็ดลับที่ยอดเยี่ยมพร้อมคำพูดสองเท่าก่อนที่เส้นทางจริง ฉันจะไม่เคยเดาสิ่งนี้ ขอบคุณสำหรับการแชร์.
Alexandru Dicu

ขอบคุณมันช่วย ฉันยังใช้ / SEPARATE ตัวเลือกตามที่กล่าวไว้ในss64.com/nt/start.html
Ayusman

1
@Aususman: ตัวเลือกเหล่านี้มีไว้สำหรับโปรแกรม 16 บิต ฉันหวังว่าคุณคงไม่มีใครในนั้น
Joey

4
แน่นอนว่ามันไม่จำเป็นต้องเป็นคำพูดที่ว่างเปล่า ... คุณสามารถตั้งชื่อที่เกี่ยวข้องได้ ฉันจะแนะนำสิ่งนี้อย่างหนักเพราะมันจะทำให้ชัดเจนมากขึ้นกับคนอื่น ๆ ที่เห็นสิ่งที่เกิดขึ้น start "Obligatory Atavistic Window Title" "\Foo\Bar\Path with spaces in it\program.exe"
shiser

1
ในที่สุดฉันก็พบคำตอบ ขอบคุณ!
Sellorio


8

ฉันใช้ start / b สำหรับสิ่งนี้แทนที่จะเพิ่งเริ่มและมันทำงานโดยไม่มีหน้าต่างสำหรับแต่ละคำสั่งดังนั้นจึงไม่ต้องรอ


สิ่งที่ฉันกำลังมองหา!
Fábio Amorim

4

หากstartไม่พบสิ่งที่ต้องการก็จะเป็นสิ่งที่คุณอธิบาย

เนื่องจากสิ่งที่คุณกำลังทำควรจะเป็นไปได้มากว่าคุณจะไม่ต้องใส่เครื่องหมายอัญประกาศ


ใช่ฉันใส่เครื่องหมายคำพูดสองตัว แต่พวกเขาจำเป็นสำหรับชื่อเส้นทางยาว วิธีแก้ไขปัญหา
Mark Attwood
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.