• 締切済み

バッチファイルのIF分岐にて任意の文字を入力しておきたい

バッチファイルのIF分岐にて任意の文字を入力しておきたいです。 下記のようなバッチファイルを作成し、「1」を入力すると「:AAA」のラベル に飛びメッセージが表示されるようにしています。 最初から「1」が自動で入力されているような状況にすることはできますでしょうか? 「set NUM=1」にしておけば、Enterを押すだけで「1」が入力されている のはわかったのですが、DOS上に「1」が表示されていません。 入力待ちの際に「1」が入力されている状況を作りたいと思っています。 Windows XP 32bitで動作させたいです。 お手数ですが知識をお借りしたいと思います。 もしくは「ここを見ろ」というのをご教授ください。 -------------------------------------------------- @echo off :LOOP set NUM= cls echo. echo "1. AAA" echo "2. BBB" echo "0. 終了" echo. echo. set /p NUM="番号を入力してください >" if %NUM% == 1 goto :AAA if %NUM% == 2 goto :BBB if %NUM% == 0 goto :owari echo 番号がありません echo. pause goto :LOOP :AAA echo "AAAです" echo. pause goto :LOOP :BBB echo "BBBです" echo. pause goto :LOOP :owari echo 終了します echo. pause goto :eof --------------------------------------------------

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

そういうことはバッチの機能では出来ないです。1の方の書かれている通り、メッセージで注意するしかない。 あと、 if "%NUM%" == "1" goto :AAA などとした方が良いです。NUMが空白や一部記号の時にエラーになるので。 (これでも奇数個の " を入力するとエラーになってしまいますが)

lemon0324
質問者

お礼

回答ありがとうございました。

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.1

こんにちは >「set NUM=1」にしておけば、Enterを押すだけで「1」が入力されているのはわかったのですが、DOS上に「1」が表示されていません。 >入力待ちの際に「1」が入力されている状況を作りたいと思っています。  以上で「入力れている状況を作る」ことはお分かりになったのですから、それをユーザに伝えればよいと思うのです。  こんな風に。。 set /p NUM="番号を入力してください([Enter]は'1'と同じ) >"

lemon0324
質問者

お礼

回等ありがとうございました。 「できない」ということがわかりました。 入力されている旨を記載します。

関連するQ&A