เป็นไปได้ในไฟล์ชุด MS-DOS เพื่อหยุดสคริปต์และรอให้ผู้ใช้กดปุ่ม Enter?
ฉันต้องการทำสิ่งนี้ภายในวง หลังจากการทำซ้ำแต่ละครั้งฉันต้องการให้สคริปต์หยุดชั่วคราวและรอให้ผู้ใช้กด 'Enter'
เป็นไปได้ในไฟล์ชุด MS-DOS เพื่อหยุดสคริปต์และรอให้ผู้ใช้กดปุ่ม Enter?
ฉันต้องการทำสิ่งนี้ภายในวง หลังจากการทำซ้ำแต่ละครั้งฉันต้องการให้สคริปต์หยุดชั่วคราวและรอให้ผู้ใช้กด 'Enter'
คำตอบ:
มีpauseคำสั่งที่ทำเช่นนั้นแม้ว่าจะไม่ได้เจาะจงคีย์การป้อน
หากคุณต้องการรอเพียงปุ่ม Enter เท่านั้นคุณสามารถใช้setคำสั่งเพื่อขอให้ป้อนข้อมูลผู้ใช้ด้วยตัวแปรดัมมี่เช่น:
set /p DUMMY=Hit ENTER to continue...
pauseคำสั่งคือสิ่งที่คุณกำลังมองหา หากคุณดูเฉพาะกรณีเมื่อป้อนถูกตีคุณสามารถละเมิดrunasคำสั่ง:
runas /user:# "" >nul 2>&1
หน้าจอจะถูกแช่แข็งจนกว่าจะเข้าสู่การเข้าชมสิ่งที่ฉันชอบมากกว่าset/p=คือถ้าคุณกดปุ่มอื่นนอกเหนือจากที่ป้อนพวกเขาจะไม่ปรากฏขึ้น
คุณสามารถทำได้ด้วยpauseคำสั่งตัวอย่าง:
dir
pause
echo Now about to end...
pause
pauseแน่นอนเป็นคำตอบที่ถูกต้องเท่านั้นMS-DOS(คำตอบอื่น ๆ ทั้งหมดจะทำงานในcmdเท่านั้น) ดังนั้นคำตอบของคุณจึงเป็นคำตอบที่ถูกต้องเพียงข้อเดียวสำหรับคำถามพิเศษนี้ (แม้ว่าจะได้รับการแนะนำมากกว่า 7 ปีก่อน)
ทั้งนี้ขึ้นอยู่กับที่ OS ที่คุณกำลังใช้ถ้าคุณมีความยืดหยุ่นแล้วCHOICEสามารถใช้ในการรอคอยเกือบปุ่มใด ๆEXCEPTใส่
หากคุณอ้างถึงสิ่งที่ Microsoft ยืนยันในการเรียกคำสั่ง "Command Prompt" ซึ่งเป็นโปรแกรมจำลองการทำงานของ MS-DOS อาจTIMEOUTจะเหมาะกับวัตถุประสงค์ของคุณ ( timeout /t -1รอที่ปุ่มใด ๆ ไม่ใช่แค่ENTER) และแน่นอนCHOICEมีวางจำหน่ายอีกครั้งในรุ่น WIN ล่าสุด
และการตักเตือนSET /P- ในขณะที่มันset /p DUMMY=Hit ENTER to continue...จะใช้ได้
set "dummy="
set /p DUMMY=Hit ENTER to continue...
if defined dummy (echo not just ENTER was pressed) else (echo just ENTER was pressed)
จะตรวจพบว่ามีเพียง ENTER หรืออย่างอื่นที่ลงท้ายด้วย ENTER ได้รับการป้อนข้อมูล
set /p=Hit ENTER to continue...หรือเพียงแค่set /p=ถ้าคุณไม่ต้องการพรอมต์