[batch-file] Enter 키를 사용하여 MS-DOS 배치 파일 일시 중지

MS-DOS 배치 파일에서 스크립트를 일시 중지하고 사용자가 Enter 키를 누를 때까지 기다릴 수 있습니까?

for 루프 내 에서이 작업을 수행하고 싶습니다. 각 반복 후에 스크립트가 일시 중지되고 사용자가 ‘Enter’를 누르기를 기다립니다.



답변

거기에 pause특별히 enter 키는 아니지만 그렇게 명령이 있습니다.

enter 키만 기다리려면 set명령을 사용하여 다음과 같은 더미 변수로 사용자 입력을 요청할 수 있습니다 .

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


답변

pause명령은 당신이 찾고있는 것입니다. Enter 키를 누르는 경우에만 사건을 보면 runas명령을 남용 할 수 있습니다 .

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

Enter 키를 누를 때까지 화면이 정지 set/p=됩니다.


답변

다음 pause명령을 사용하여 수행 할 수 있습니다 .

dir
pause
echo Now about to end...
pause


답변

사용중인 OS에 따라 유연하다면 CHOICE거의 모든 키를 기다리는 데 사용할 수 있습니다EXCEPT 입력

Microsoft가 MS-DOS 에뮬레이터 인 “명령 프롬프트”를 호출한다고 주장하는 것을 실제로 언급하고 있다면 아마도 TIMEOUT 목적에 적합 할 있습니다 ( timeout /t -1단지뿐만 아니라 모든 키 대기 ENTER).CHOICE 최신 WIN 버전에서도 다시 사용할 수 있습니다.

그리고 경고 SET /Pset /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 또는 다른 것을 감지합니다.


답변