質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

3回答

36883閲覧

バッチファイルのエラーコードの調べ方

kurori

総合スコア111

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

1クリップ

投稿2017/02/24 05:57

編集2022/01/12 10:55

###前提・実現したいこと
環境情報:
・Windows 8.1
・コマンドプロンプト(DOS窓)

ちょっとしたバッチファイルを作成しています。
で、作成中に調べても思ったような情報が得られなかったので、投稿してみることにしました。

###該当のソースコード

if not %errorlevel% == 0 goto ERR :ERR echo %date:~2,10% %time:~0,8% %errorlevel% >> %ERROR_LOG_FILE%

###発生している問題・エラーメッセージ
バッチの中で上記のようなエラーハンドリングを作成しました。
(ほぼ、ネットに転がっているものを拾っただけですが...)

実際にエラーを発生させてみることでエラーハンドラとして機能していることは分かったのですが、
errorlevelに格納されるエラーコードがどういったエラーを指しているのかという、肝心のエラー詳細を特定する方法が見つけられませんでした。

例えば、
Oracle => エラーコードの検索ページがある
.Net系言語 => Exception 内にエラーコード、詳細がある。

といった感じですが、バッチファイル内でハンドルしたエラーコードからエラーの詳細はどのように調べればよいのでしょうか?
コードから詳細が分かればエラーメッセージをハードコードすることはできますので、特定方法さえ見つけられれば良いな、と思っています。

以上、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

一言で言えば、「コマンドごとにまちまち」です(ただ、「0が正常終了」ということはほぼ共通です)。

各コマンドのヘルプとか、Unix系のツールであればmanを検索するなどで、逐一調べるほかありません。

投稿2017/02/24 06:02

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kurori

2017/02/24 06:14

ご回答ありがとうございます。 すいません、情報記載が漏れておりました。 WindowsのDOS窓(コマンドプロンプト)のバッチとなります。 やはりコマンド単位のものなのですね...
guest

0

ERRORLEVELは、名前から分かる通り、エラーコード(エラーの原因をそれぞれ異なる番号で表すもの)ではありません。
if errorlevel 番号という「ERRORLEVELが指定番号以上なら真」を表す構文があるように、番号と言うより、大小関係のあるレベルとなっています。

0 が正常、1 以上がエラーです。2 以上は構文エラーなど、コマンド本来の働きを出来ないケースが多いと思います。
いずれにせよ、ERRORLEVELからエラー原因を探るのは困難です。エラーメッセージを見るしかない。

コマンドによっては、関数の戻り値のような感覚でERRORLEVELを設定する物もあります(choiceコマンドなど)。これは、目的外使用ですね。

投稿2017/02/25 06:55

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Systemとしてのエラーコードはこの辺でしょうかね。

System Error Codes

投稿2017/02/24 06:26

kanbeworks

総合スコア829

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問