私は vbscript を試していて、非常に基本的なコードを実行しているだけですが、見つけられない簡単な解決策があると推測しています。これはcscriptを使用したCMDです。
スクリプトを停止し、ユーザーに Enter キーを押して続行するように求める Pause という名前のサブルーチンがあります。
sub Pause(strPause)
WScript.Echo (strPause)
Do While Not WScript.StdIn.AtEndOfLine
Input = WScript.StdIn.Read(1)
Loop
End sub
1 から 10 を出力する単純なループでこのサブルーチンを呼び出しています。最初の呼び出しの後で正しく一時停止しますが、その後は残りを一時停止せずに出力します。それはまだポーズ文字列をエコーするので、サブにヒットしているようです。
For i = 1 To 10
' Print i to the Output window.
Wscript.echo"loop index is " & i
' Wait for user to resume.
Pause("Press Enter to continue")
Next
サブルーチン内の Do While ループが問題を引き起こしているのか、それとも入力値を何らかの形でクリアする必要があるのか不明ですか? Do While ループが Sub から削除され、すべてを出力するのではなく、2 つの数値ごとに一時停止すると、少しうまくいくようです。それでも、各ループの後に一時停止することはできません。