検索ワードから(1)

最近の人気検索ワード(うちのブログ)は「ERRORCODE」です。昔載せたバッチファイルでERRORCODEという変数を使っていたせいでひっかかっています。


WindowsDOSコマンド(バッチファイル)にはERRORCODEなんていうコマンドや変数はありません。WindowsAPIであるGetLastError()の返却値はたしかにerrorcodeですが、DOSではERRORLEVELがそれに該当します。直前のエラーはERRORLEVEL,それを退避しておくのはERRORCODEというのが私なりの使い分けです。

@ECHO OFF

:INPUT
SET ERRORCODE=

ECHO エラーコードを入力してください[終わる時はqを入れてください]
SET /P ERRORCODE=>

IF %ERRORCODE%.==q. GOTO FIN
IF %ERRORCODE%.==Q. GOTO FIN
IF %ERRORCODE%.==. (
CLS
ECHO データが何も入力されていません
GOTO INPUT
)

NET HELPMSG %ERRORCODE% 2>&1 > NUL

IF %ERRORLEVEL%.==0. (
NET HELPMSG %ERRORCODE%
ECHO.
ECHO [何かキーを押してください]
PAUSE > NUL
CLS
GOTO INPUT
)

CLS
ECHO 入力されたエラーコード[%ERRORCODE%]は有効ではありません
NET HELPMSG
ECHO.
ECHO [何かキーを押してください]
PAUSE > NUL
CLS
GOTO INPUT
:FIN

2006-10-04 - 子持ちししゃもといっしょ

これはとても便利なので友達によくあげるのですが、誰も褒めてくれません。すごいツールよりもこういうささやかなツールが一番使うと思うんだけどなぁ...。