私はバッチでこのスクリプトを持っていて、質問 1 から 12 の範囲を取得しました。
私のコードはすべて機能しますが、選択された無効な範囲のエラー メッセージをスローするためにバッチにスローするコードが見つからないようです。
例: オプションの一部ではない 13 を選択すると、自動的に 1
になります。
代わりに次のコードを使用したため、バッチで shift コマンドを使用していません
set /p choice=Type the number that corresponds to the Step you want to take.
if not '%choice%'=='' set choice=%choice:~0%
~0
では、shift コマンドを使用する代わりに、9 を渡した数字を使用できることに注意してください。
それでも、ユーザーが 13 または up と入力してエラーが表示された場合に表示されるコードが必要です。
何か案は?つまり、選択肢が 13 ~ 999 の範囲にある場合、エラーが表示されます。
アップデート
わかりました、コードを見て、1 行のコードが抜けていることに気付きました。これは
@echo "%choice%" は有効な選択/オプションではありません
'%choice%'==''を指定した場所のコーディングは正しかったようです。選択が間違っていると言うエコーを残しませんでした。そこにはエラーレベルは必要ありませんでした。
これが誰かを助けることを願っています