2017-04-22 5 views
0

私は自分のカスタムコマンドプロンプトを作成して、処理を簡単にするようにしています。私は正常にインターフェイスとtypeコマンドを作成しましたが、helpコマンドを追加しようとすると、メニューが表示されますが、私が入れたpause >nulは動作しません。ウィンドウはただ閉じます。あなたは見て、私を助けてくれますか? ありがとうございます!バッチでカスタムコマンドを作成するには?

@echo off 
:HELLO 
echo Hello! 
pause >nul 
cls 
echo What can I do for you? Type in your commmand! (Type "help" to display a list of every command available.) 
set /p command= 
if %command%==type (
goto :TYPEFILENAME 
) 
if %command%==help (
goto :HELPLIST 
) 
:MAIN 
cls 
echo What can I do for you? Type in your commmand! (Type "help" to display a list of every command available.) 
set /p command= 
if %command%==type (
goto :TYPEFILENAME 
) 
if %command%==help (
goto :HELPLIST 
) 
pause >nul 
:HELPLIST 
echo ---------------------------------- 
echo Help: Page 1/1 
echo Command | What it does 
echo help | displays this page 
echo type | types a file 
echo ---------------------------------- 
pause >nul 
goto :MAIN 

残りのコードが必要な場合は教えてください。これは私が最も重要だと思いますので、私は残りの部分を追加しませんでした。

+1

クイックメモ:コマンドプロンプトを開き、そこからファイルを実行する必要があります。これにより閉鎖が防止され、潜在的なエラーメッセージを読むことができます。エクスプローラウィンドウでshift-rightclickingを実行すると、ディレクトリ内のコマンドプロンプトを開き、「ここでコマンドを開く」を選択できます。 – geisterfurz007

+0

@ geisterfurz007私は、このエラーメッセージ "What 'が内部または外部のコマンド、 実行可能なプログラムまたはバッチファイルとして認識されていないというメッセージを出しました。私はそれを理解できません。 –

+2

エコーのパイプ記号をキャレットでエスケープする '^ |' – LotPings

答えて

0

ヘルプ部分がクラッシュするのは、バー(|)文字です。 このような特別なエコーをする場合は、その前にエスケープ文字(^)を追加する必要があります。 コードの部分は次のようになります。

echo ---------------------------------- 
echo Help: Page 1/1 
echo Command ^| What it does 
echo help ^| displays this page 
echo type ^| types a file 
echo ---------------------------------- 
関連する問題