ไฟล์แบตช์ MS-DOS หยุดชั่วคราวพร้อมคีย์ Enter


146

เป็นไปได้ในไฟล์ชุด MS-DOS เพื่อหยุดสคริปต์และรอให้ผู้ใช้กดปุ่ม Enter?

ฉันต้องการทำสิ่งนี้ภายในวง หลังจากการทำซ้ำแต่ละครั้งฉันต้องการให้สคริปต์หยุดชั่วคราวและรอให้ผู้ใช้กด 'Enter'

คำตอบ:


247

มีpauseคำสั่งที่ทำเช่นนั้นแม้ว่าจะไม่ได้เจาะจงคีย์การป้อน

หากคุณต้องการรอเพียงปุ่ม Enter เท่านั้นคุณสามารถใช้setคำสั่งเพื่อขอให้ป้อนข้อมูลผู้ใช้ด้วยตัวแปรดัมมี่เช่น:

set /p DUMMY=Hit ENTER to continue...


17
คุณไม่จำเป็นต้องระบุชื่อตัวแปร: set /p=Hit ENTER to continue...หรือเพียงแค่set /p=ถ้าคุณไม่ต้องการพรอมต์
dbenham

2
ด้วยเหตุผลบางอย่างแอพของฉันกระเด็นผ่านตรรกะการหยุดชั่วคราว ที่แปลกมาก.
ouflak

11
มันดูเหมือนว่าบิตแปลกที่จะเห็นคำว่า "แอป" ถูกนำมาใช้ในบริบทนี้ (แฟ้มแบทช์)
เอเดรียอ

มันไม่ทำงานสำหรับฉัน ทำงานได้ตั้งแต่การเปิดตัวครั้งที่สองเมื่อ 'set' ทำงาน / บันทึกลงใน env
ses

13

pauseคำสั่งคือสิ่งที่คุณกำลังมองหา หากคุณดูเฉพาะกรณีเมื่อป้อนถูกตีคุณสามารถละเมิดrunasคำสั่ง:

runas /user:# "" >nul 2>&1

หน้าจอจะถูกแช่แข็งจนกว่าจะเข้าสู่การเข้าชมสิ่งที่ฉันชอบมากกว่าset/p=คือถ้าคุณกดปุ่มอื่นนอกเหนือจากที่ป้อนพวกเขาจะไม่ปรากฏขึ้น


4

คุณสามารถทำได้ด้วยpauseคำสั่งตัวอย่าง:

dir
pause
echo Now about to end...
pause

1
pauseแน่นอนเป็นคำตอบที่ถูกต้องเท่านั้นMS-DOS(คำตอบอื่น ๆ ทั้งหมดจะทำงานในcmdเท่านั้น) ดังนั้นคำตอบของคุณจึงเป็นคำตอบที่ถูกต้องเพียงข้อเดียวสำหรับคำถามพิเศษนี้ (แม้ว่าจะได้รับการแนะนำมากกว่า 7 ปีก่อน)
เตฟาน

3

ทั้งนี้ขึ้นอยู่กับที่ 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 ได้รับการป้อนข้อมูล

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