
バッチファイルの内容
------------------------------------------------------------------------------------
@echo off
cls
rem メニュー選択画面
:menu
echo ****************************
echo * キー入力でメニュー選択 *
echo ****************************
echo.
echo 1.自宅環境(有線LAN・ADSL)
echo 2.モバイル環境(Bluetooth DUN設定)
echo 3.モバイル環境(Bluetooth PAN設定)
echo.
echo 99.終 了
echo.
set /p choice="現在の環境を上記番号より選択して下さい:"
rem 番号選択後の制御フロー
if "%choice%"=="1" (goto homelan)
if "%choice%"=="2" (goto btdnu)
if "%choice%"=="3" (goto btpan)
if "%choice%"=="99" (goto end)
goto error
:homelan
rem 自宅環境(有線LAN・ADSL) 選択時の制御
echo 1.自宅環境(有線LAN・ADSL)
rem モバイル環境(Bluetooth DUN設定)
:btdnu
echo 2.モバイル環境(Bluetooth DUN設定)
rem モバイル環境(Bluetooth PAN設定)
:btpan
echo 3.モバイル環境(Bluetooth PAN設定)
rem エラー時の制御
:error
cls
echo 入力エラー!:選択肢以外の番号が入力されました。正しい番号を再度入力して下さい。
goto menu
rem 終了時の制御
:end
exit
------------------------------------------------------------------------------------
上記のコードは、持ち歩き用に使っているPCでWindowsのログオン時に起動させる処理をコントロールするためにネット上の情報を元に勉強がてら自分で書いています。(あと、ちなみにDOS関連の知識はほとんどありません。)
batファイルで保存し、DOSプロンプトでテストをしていました。
IMEはオフにし、番号選択の「1」「2」「3」を10キーボードから入力すると、errorラベルに飛んでしまい、こちらが想定している正しい処理に飛びません。(ちなみに、「99」と入力したときは正しく処理されいています。)
どこにコーティング上のミスがあるのか判別がつかないため、ミスを犯しているポイントを教えていただけると幸いです。
また、カテゴリーを変更したほうがいいなどのアドバイスがありましたら、誘導していただけると幸いです。
どうかよろしくお願いしますm(__)m
No.1ベストアンサー
- 回答日時:
バッチ処理は正常に動作しています
分岐処理後に動作を停止する命令が無いだけです
例えば
条件分岐でA,B,ENDの分岐とします
バッチ処理の流れが
main
入力
条件分岐
Aの処理
Bの処理
エラー処理
END処理
とした場合、Aの処理の最後に処理を停止する命令がなければBの処理⇒エラー処理と進んでしまいます
試しに、END処理以外の条件処理の後にgoto menuを付け加えて試して見てください
:homelan
rem 自宅環境(有線LAN・ADSL) 選択時の制御
echo 1.自宅環境(有線LAN・ADSL)
goto menu
rem モバイル環境(Bluetooth DUN設定)
:btdnu
echo 2.モバイル環境(Bluetooth DUN設定)
goto menu
rem モバイル環境(Bluetooth PAN設定)
:btpan
echo 3.モバイル環境(Bluetooth PAN設定)
goto menu
こんな感じで
回答ありがとうございます。
回答のように処理を停止する内容(テスト中のため、一時的にmenuへ飛ぶようにしました。)を追記したところ、errorラベルに飛ぶことなく動作するようになりました。
私の想定だと処理分岐後、echo 「選択したメニュー名の表示」で処理が停止するものだと思っていましたが、そうでもなかったのですね… ^^; 勉強になりました。
これでテストを継続できます。即答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
家庭用の「デジタルはかり」っ...
-
突然カーソルが手の形に…
-
Windowsセキュリティ 警告表示...
-
autoCADで三辺を指定して三角形...
-
エクセルで、渦巻きを作りたい。
-
イラレパス上文字ツールを元の...
-
エクセルの図形で弧を書く方法
-
図形とテキストボックスの全部...
-
in Designで一部のページにのみ...
-
JW 文字の後ろを白く着色したい
-
jw_cadで消えない線があります...
-
JWでDXFを開いたとき、SXF線種...
-
jwcadで図形を簡単に水平にする...
-
jww レイヤーグループバーの「...
-
Illustrator CS2で等間隔斜め線...
-
イラストレーターでのトリムや...
-
業務でiCAD MXを使うことになり...
-
Excel に貼り付けた図形が、勝...
-
イラストレーターで添付画像の...
-
エクセルの作図でコンクリート...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
突然カーソルが手の形に…
-
Wordを開くとカーソルが真ん中...
-
テキストボックスのカーソル位...
-
power pointで画像が表示できま...
-
秀丸エディタでマウスカーソル...
-
壁紙が拡大されて表示される
-
iText Expressのカーソルの色設...
-
【Win】DOS バッチファイルの処...
-
エクスプローラーの表示について
-
タスクバーにカーソルを合わせ...
-
リカバリ後の設定で
-
Real PlayerでレンタルDVDの...
-
文字入力の時のカーソルの形が...
-
Adobe Illustrator CSでプリン...
-
Mac 勝手に変換
-
エクセル(フィルタオプションの...
-
DELキーを押し続けても反応が遅い
-
word2007 行内に設定すると図が...
-
いつ頃からかはわからないので...
-
ビスタのノートパソコン、NEC L...
おすすめ情報