2011-03-10 5 views
1

私は新しいバッチプログラマーで、バッチの「スタートメニュー」を作成しています。私は次のテキストを使用していますが、この時点では "X"は期待されていませんでした。 Xは1、ゲーム、テキスト、その他のものでした。私はそれを理解することはできません。助けて!私はXP SP3を実行しており、コマンドプロンプトを使用しています。また、誰か他の間違いがある場合は、私に知らせてください。バッチスクリプトゲームは現時点では予告されていません

set /p choice=Press ctrl-z to exit. Press G to play Adventure. Press T to enter Text Editor. 

と次のように比較します:[email protected]で私に電子メールが

cls 
@echo off 
echo Welcome to the Start Menu! 

echo. 
echo Press ctrl-z to exit. Press G to play Adventure. Press T to enter Text Editor. 
pause 
set Game= %gme% 
set Text= %txt% 

IF select Game goto gme 
IF select Text goto txt 

:txt 
echo You have chosen to enter the Text editor. 
pause 
start edit 

:gme 
echo You have chosen to play Adventure. 
pause 
start C:\Adventure.exe 
+0

面白いゲームスタートメニューとしてバッチスクリプトを使用します。なぜ、小さなWindows Formプログラムですか? – Raptor

+3

どのコマンドプロセッサーですか?私はコマンドファイルでSELECTを見たことがありません。 @echoをコメントアウトしてスクリプトを再実行してみてください。それは各行をエコーし​​、どこが失敗しているかを見ることができます。または投稿をここに掲載してください –

+0

バッチ(Shivan Raptor)を使用して経験を得たいと思っています。コメントアウトが何を意味するのかわかりません(Preet Sangha)。申し訳ありませんが、64時間しか行っていません。 – John

答えて

1

あなたがここに欲しいのは、おそらくどちらかset /pある

if /i %choice%==G goto Game 
if /i %choice%==T goto Text 
goto :eof 

またはchoiceを使用していますReturnキーを押す必要はありません。

choice /m "Press Q to exit. Press G to play Adventure. Press T to enter Text Editor." /c GTQ /n 

if errorlevel 3 goto :eof 
if errorlevel 2 goto Text 
if errorlevel 1 goto Game 
goto :eof 

また、あなたのコードに別の問題があります:あなたはあまりにもゲームを開始避けるために、エディタを起動した後、バッチファイルを終了する必要があります。

:Text 
start edit 
goto :eof 

:Game 
rem That's a horrible place to put something 
start C:\Adventure.exe 
goto :eof 
関連する問題