เป็นไปได้ในไฟล์ชุด 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=
ถ้าคุณไม่ต้องการพรอมต์