DOSプロンプトベースプログラムのERRORLEVEL

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
あおぞら

DOSプロンプトベースプログラムのERRORLEVEL

#1 投稿記事 by あおぞら »

いつもお世話になっております。

HTMLから情報を吸い出し、いろいろ処理しようとしています。使い慣れたsedとjgawkの方が手軽なので、バッチファイルに仕込んで動かしていますが、Active Basic修行の成果を少し盛り込みたくなり、DOSプロンプトベースのプログラムを作りはじめました。

ERRORLEVELをいじるには、どうすればいいのでしょう?
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

Re: DOSプロンプトベースプログラムのERRORLEVEL

#2 投稿記事 by イグトランス »

プログラムの終了するときにExitProcess関数を呼べば、その引数に渡した数値がエラーラベルになります。
ちなみにEndはExitProcess(0)と等価です。
tak
記事: 162
登録日時: 2005年5月31日(火) 07:49

Re: DOSプロンプトベースプログラムのERRORLEVEL

#3 投稿記事 by tak »

> プログラムの終了するときにExitProcess関数を呼べば、その引数に渡した数値がエラーラベルになります。

いえ、そのエラーレベルではないと思いますよ。

僕の記憶が正しければ、ERRORLEVEL はDOSのバッチファイルで使用される特殊な変数の名前で、一文字だけ入力を受け取ったときにその文字コードが格納される変数だったはずです。
たとえば、“よろしいですか(Y/N) > ”の後に入力カーソルがあり、'Y'と入力すれば、バッチファイル内で ERRORLEVEL に 89 が格納されます。(だったと思う)
ほかにも、これを使えば任意の選択肢を提供することも出来たような出来なかったような・・・実はよく覚えていません(爆)

単に入力を求めるだけならば Input命令を使えばよいのですが、実は問題があります。
一文字入力すれば即座に次の処理に移るというのがミソで、今調べている最中なのですが、これがなかなか難しいようで・・・
最後に編集したユーザー tak [ 2005年7月16日(土) 16:05 ], 累計 2 回
あおぞら

Re: DOSプロンプトベースプログラムのERRORLEVEL

#4 投稿記事 by あおぞら »

> プログラムの終了するときにExitProcess関数を呼べば、その引数に渡した数値がエラーラベルになります。
> ちなみにEndはExitProcess(0)と等価です。

いつもありがとうございますm(__)m。
「Cだとexit(0)だった気がするなあ・・・」と、うろ覚えで、exitやterminateの付いた関数を、試しておりましたが、試験用のバッチファイルに不備があり、泥沼に嵌っていました。お蔭様で、ようやく泥沼から脱出できました。プログラムからのエラーレベルの数値に従って、きちんと判定してくれます。
大昔のパソコン通信のオートパイロットのようなものに仕上げたいと思っています。
あおぞら

Re: DOSプロンプトベースプログラムのERRORLEVEL

#5 投稿記事 by あおぞら »

コメントありがとうございます。

> いえ、そのエラーレベルではないと思いますよ。

私もWeb検索で彷徨っているうちに、「そもそもエラーレベルって何だったっけ?」と訳が分からなくなっておりました。今回、アドバイスを頂き、ようやくExitProcessで一件落着する事ができました。
tak
記事: 162
登録日時: 2005年5月31日(火) 07:49

Re: DOSプロンプトベースプログラムのERRORLEVEL

#6 投稿記事 by tak »

あらぁ、そのエラーレベルでよかったのですね!? (^^;
DOSとかバッチファイルといったキーワードが並んでいたので、思いっきり勘違いしていました。

御迷惑をおかけしました。
返信する