2017-08-08 9 views
0

、このプログラムでgotoコマンドをどのように使うの?私は、次のプログラムを実行しています

@echo off 
color 0a 
cls 
:MENU 
echo What do you want to do ? 
echo. 
echo 1- Flash 
echo 2- Wipe 
echo 3- Check 
echo 4- Go Back 
echo. 
set /p choice= 
if %choice%==1 goto 1 
if %choice%==2 goto 2 
if %choice%==3 goto 3 
if %choice%==4 goto 4 
echo Invalid Choice 
goto MENU 
:1 
flash.bat 
:2 
wipe.bat 
:3 
check.bat 
:4 
back.bat 

私はそれが無効な選択を示す必要がある他のキー他の1,2,3,4以上押してください。しかし、その動作していない..そのエラーを表示する "gotoコマンドは、この時点では予期せぬものでした"。

他のキーを押すと無効な選択肢が表示される必要があります。 Plsは人を助ける...

+0

[this](https://stackoverflow.com/questions/14077840/goto-was-unexpected-at-this-time-batch) – jmoon

+0

の複製がありますが、1,2,3 、4 ...私の問題は...他のキーを押すと、無効なキーが押されたと言う必要があります。しかし、そのgotoコマンドは、1,2,3and4(それらの作品)の隣にgotoコマンドではありませんでした。(終わりのコマンドでは)予期せぬものでした。しかし、言及以外の他のキーを押しても機能しません。 ' – Philip

+0

あることに気がついたら、最初にEnterキーを押すだけで、次のコマンドラインにまっすぐ進みます。どのようにそれを停止するには? "無効な選択"を表示して5,6,7または任意の文字を押すことを意味するが、Enterを押すだけで次のコマンドにつながるか、現時点ではgotoが期待できない(エラー) – Philip

答えて

1

私はそれが自分自身でエラー処理を行うchoiceを使用することをお勧めしますので、それに対処する必要はありません。 set /pを使用すると、スクリプトを中断する方法はたくさんあります(多くの可能な入力があります)。

あなたは(あなたがENTERを押したときにset /pは「空」に変数を設定していないが、それは変わらないことができます)、可変少なくともプリセット、set /pを維持したい場合:

set choice=4 
set /p choice= 
echo %choice% 
... 

追加ボーナス:あなたにはデフォルトのアクションがあります。

関連する問題