วิธีการปิดการใช้งานพรอมต์คำสั่งอัตโนมัติปิดเมื่อเสร็จสิ้น?


18

ฉันรู้ว่ามีเทคนิคบางอย่างกับ windows รุ่นเก่าที่จะทำสิ่งนี้ให้สำเร็จ แต่ไม่แน่ใจใน windows 7

หากฉันมีซอฟต์แวร์บางส่วนที่ดำเนินการคำสั่งด้วยสวิตช์ทำให้หน้าต่าง cmd.exe เปิดและปิดอย่างรวดเร็วฉันจะกำหนดค่าพรอมต์คำสั่งใหม่ให้ไม่ปิดอัตโนมัติได้อย่างไรเมื่องานเสร็จสมบูรณ์

เคล็ดลับที่นี่คือคำสั่งที่ถูกดำเนินการเป็นแบตช์ไฟล์รวมถึงคำสั่งหยุดชั่วคราวในตอนท้าย แต่วิธีที่ซอฟต์แวร์พยายามดำเนินการคำสั่งนั้นล้มเหลว เนื่องจากมันปิดอย่างรวดเร็วเราจึงไม่ทราบว่ามีข้อผิดพลาดใดที่ส่งคืนเนื่องจากมันปิดอย่างรวดเร็ว


เป็นคำถามที่ดีอย่างเงียบ ๆ ฉันก็อยากรู้เรื่องนี้เพราะบางครั้งแพทช์เกม / ซอฟต์แวร์เข้ามาปิดไฟล์แบตหลังจากคำสั่งถูกดำเนินการโดยไม่หยุดและแสดงคำสั่งที่ดำเนินการให้กับผู้ใช้
Boris_yo

1
ทำไมไม่เปิดหน้าต่างคำสั่งไปที่ไดเรกตอรีนั้นและรันแบตช์จากที่นั่น ที่จะทำงานในหน้าต่าง cmd แบบไม่ปิดเดียวกันที่จะยังคงเปิดอยู่เมื่อแบตช์เสร็จสิ้น นั่นอาจให้เบาะแสบางอย่างแก่คุณเพื่อช่วยในการแก้ไขปัญหา
jdh


ขอบคุณ slhck คุณชี้ให้ฉันไปที่สถานที่ที่ดูเหมือนว่าเป็นไปได้ที่ใกล้เคียงที่สุดเพื่อให้บรรลุสิ่งที่ฉันต้องการอยู่ในรีจิสทรีสำหรับ batfile / cmdfile
Mythics

คำตอบ:


8

แทนที่จะเรียกใช้.batไฟล์นั้นโดยตรงจาก Explorer หรือวิธีอื่นใดที่คุณใช้ให้เรียกใช้งานด้วยตนเองcmd.exe(หากจำเป็นต้องใช้สิทธิ์ระดับสูง) จากนั้นเรียกใช้.batไฟล์ของคุณจากที่นั่น จากนั้นเมื่อการประมวลผลเสร็จสิ้นคุณจะยังคงเห็นผลลัพธ์ทั้งหมด ... เหมือนในวัน DOS เก่าที่ดี :)


กดเริ่มและพิมพ์cmdแล้วกดenterคุณจะเปิดพรอมต์คำสั่ง ลากและวางเพียงแค่สิ่งที่คุณจำเป็นต้องเรียกใช้ (หลามสคริปต์ของคุณหรือ .exe) เข้าไปในหน้าต่าง cmd enterและกด
JinSnow

6

ในไฟล์. bat ของคุณใช้pauseคำสั่ง มันจะป้องกันไฟล์. bat ของคุณไม่ให้ปิด

ตัวอย่างเช่นนี่คือไฟล์ bat ของฉันฉันใช้เพื่อเริ่มบริการ MySQL บนพีซีของฉัน:

net start MySQL
pause

หมายเหตุ:ใน Windows 7 ฉันเริ่มต้นไฟล์. bat นี้จากชื่อผู้ดูแลระบบ ในการทำเช่นนี้คลิกปุ่มเมาส์ขวาบนไฟล์. bat และเลือก "เริ่มจากชื่อผู้ดูแลระบบ" จากเมนูแบบเลื่อนลง


5

คุณต้องใช้สวิตช์ / k เมื่อโทร

รายละเอียดที่เป็นประโยชน์ที่นี่


1

ใน. bat scripting คุณจะออกจาก "exit" ที่ท้ายสคริปต์เพื่อเปิดหน้าต่างคำสั่งค้างไว้

หน้าต่างคำสั่งที่เปิดโดยสคริปต์จะปิดตัวเองในตอนท้ายของสคริปต์เสมอเนื่องจากขึ้นอยู่กับสคริปต์ การเปิดหน้าต่างด้วยตนเองและการเรียกใช้สคริปต์ไม่ได้ปิดหน้าต่างเว้นแต่ว่าคุณได้ระบุคำสั่ง "exit" ที่ท้ายสคริปต์เนื่องจากหน้าต่างไม่ได้ขึ้นอยู่กับสคริปต์

มันไม่ปรากฏว่ามีวิธีป้องกันหน้าต่างที่ขึ้นอยู่กับสคริปต์จากการถูกปิดเมื่อสคริปต์สิ้นสุดใน Windows 7 อย่างไรก็ตามมันอาจเป็นไปได้ที่จะมีการบันทึกข้อความแสดงข้อผิดพลาดที่อื่น โปรแกรมมีไฟล์บันทึกหรือไม่ หรือมีรายการในบันทึก Windows?


0
pause>nul

สิ่งนี้น่าจะใช้ได้


2
โปรดอ่านคำถามอีกครั้งอย่างระมัดระวัง คำตอบของคุณไม่ตอบคำถามเดิม "เคล็ดลับที่นี่คือคำสั่งที่ถูกดำเนินการเป็นชุดไฟล์รวมถึงคำสั่งหยุดชั่วคราวในตอนท้าย "
DavidPostill

0

กดstartและพิมพ์cmdและกดenterคุณจะเปิดใช้งานพร้อมรับคำสั่ง เพียงลากและวางสิ่งที่คุณต้องการใช้งาน (สคริปต์หลาม, .exe ... ) ลงในหน้าต่าง cmd และกด Enter (หากคุณต้องการเรียกใช้ cmd ในฐานะผู้ดูแลระบบให้หา cmd ในเมนูเริ่มคลิกขวาเลือกrun as admin) (ใช้งานได้บน windows 7)


กรุณาอย่าโพสต์คำตอบเดียวกันกับหลายคำถาม หากข้อมูลเดิมตอบทั้งสองคำถามจริง ๆ แล้วคำถามหนึ่ง (โดยปกติจะเป็นคำถามที่ใหม่กว่า) ควรปิดเหมือนกันกับคำถามอื่น คุณสามารถระบุสิ่งนี้ได้โดยการโหวตเพื่อปิดเป็นซ้ำหรือหากคุณไม่มีชื่อเสียงเพียงพอให้ยกธงขึ้นเพื่อระบุว่าซ้ำกัน มิฉะนั้นปรับคำตอบสำหรับคำถามนี้และไม่เพียงแค่วางคำตอบเดียวกันในหลาย ๆ ที่
DavidPostill

0

ฉันมีปัญหานี้มาระยะหนึ่งแล้วในที่สุดฉันก็รู้ว่าเกิดอะไรขึ้น

เมื่อคุณเริ่มงานด้วย task scheduler และเป็นไฟล์ bat มันจะเปิดหน้าต่าง cmd ไปที่ C: \ WINDOWS \ system32 และไม่ใช่ตำแหน่งที่ไฟล์ bat อยู่ ทำไม? ฉันไม่มีเงื่อนงำ! ดังนั้นสิ่งที่ฉันต้องทำคือเพิ่มไดเรกทอรีที่มี cd ลงในไฟล์ bat

ตัวอย่างด้านล่าง:

cd c: \ blahblahblah

startmyprogram.exe


คำตอบของคุณสร้างความสับสนมากมายและคุณไม่สามารถหาเหตุผลที่อยู่เบื้องหลังปัญหาที่ OP พบเจอ ดีกว่าที่คุณอ้างอิงลิงค์นี้superuser.com/help/how-to-answerจะช่วยคุณได้ในขณะตอบรับ
Rajesh S
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.