MS-DOSバッチファイルでスクリプトを一時停止し、ユーザーがEnterキーを押すのを待つことはできますか?入力キーでMS-DOSバッチファイルを一時停止
私はこれをforループ内で実行したいと考えています。各繰り返しの後、スクリプトを一時停止し、ユーザーが「Enter」を押すのを待ちます。
MS-DOSバッチファイルでスクリプトを一時停止し、ユーザーがEnterキーを押すのを待つことはできますか?入力キーでMS-DOSバッチファイルを一時停止
私はこれをforループ内で実行したいと考えています。各繰り返しの後、スクリプトを一時停止し、ユーザーが「Enter」を押すのを待ちます。
特に入力キーではありませんが、それだけのコマンドはpause
です。
set /p DUMMY=Hit ENTER to continue...
pause
コマンドはあなたが探しているコマンドです。 入力しますが、あなたがrunas
コマンドを乱用することができますヒットしたとき、あなたは唯一のケースを探している場合:
runas /user:# "" >nul 2>&1
入力するまで、画面がフリーズされますが、私はより多くset/p=
が好きhit.Whatであるあなたは、他のボタンを押すと、入力したよりも、ということですそれらは表示されません。
がどのOSあなた」に応じて:あなたは本当に唯一の入力キーを待ちたい場合
は、あなたは、何かのようにダミー変数を使用してユーザの入力を求めるためにset
コマンドを使用することができますあなたが柔軟である場合に使用して再、その後CHOICE
はあなたが本当にその後、Microsoftは単純にMS-DOSエミュレータである「コマンドプロンプト」を呼び出すを主張する何を参照している場合は、ほぼすべてのキーEXCEPT
が
に入るのを待つために使用することができますおそらくTIMEOUT
mあなたの目的に合っている(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 = Enterを押して続ける...'、あるいはプロンプトが必要ない場合は単に 'set/p ='です。 – dbenham
なんらかの理由で、私のアプリはポーズロジックの直後にブラストしています。非常に奇妙な。 – ouflak
この文脈(バッチファイル)で使われている "app"という言葉がちょっと変わっているようです。 –