[前の記事]« NET VIEWで表示されるPC名全員へメッセージ
[次の記事]ファイルの実行アプリケーションを変更する方法(assocの使い方) »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「PAUSE,CHOICE…キー入力待ち/時間待ち」索引へ

KR.EXEについて教えて下さい

158.
KR.EXEについて教えて下さい
2004年01月29日(木) 16時30分
もも
KR.EXEを使用して下記の処理をしたいのですが、思うようにできません。具体的にやり方を教えて下さい。
(やりたい事)
■デスクトップにtest.batを作成し、batchにファイルをドラッグ&ドロップする
■■のファイルに対し、ERRORLEVELが0の場合、処理Aをする
■  〃       ERRORLEVELが1の場合、処理Bをする
という事をしたいです。

batchをダブルクリックしたらERRORLEVELを選択できますが、ドラッグ&ドロップした場合、KRコマンドが使えません。
お手数ですが、よろしくお願いします。
(できたら至急!!お願いします)
163.
Re:KR.EXEについて教えて下さい
2004年01月30日(金) 14時12分
YanaKen
ももさん

>batchをダブルクリックしたらERRORLEVELを選択できますが、ドラッグ&ドロップした場合、KRコマンドが使えません。

「使えません」というのがどういう状態を指しているのかわからないのですけど、KR.EXEは「ユーザーがキーボードから何か1文字入力するまで待ち、入力されたらその結果をERRORLEVELで返す」プログラムです。
 つまり、起動されればそこで一旦バッチ処理が停止するはずです。

 したがって、もし「キー入力を待たずに処理が先に進んでしまう」のだとしたら、「(PATHが設定されたディレクトリにKR.EXEがおかれていないなどの理由で)KR.EXEが起動できていない」ことを意味すると考えてよろしいでしょう。

 このような場合、コマンド・プロンプトは、
> 'KR' は、内部コマンドまたは外部コマンド、
>操作可能なプログラムまたはバッチ ファイルとして認識されていません。
 ……のような感じのエラーメッセージを表示しているはずです。

 一般論になりますが、バッチファイルが期待通り動作しない場合、
・そのバッチファイルの起動時に必要なパラメータが(%1,%2などとして)ちゃんと渡っているかどうかを、ECHOコマンドなどでチェックする。
・PAUSE命令を要所に書き加え、1ステップずつ処理を停止させ、確認しながら実行する。
 ……の2手法の活用をおすすめします。

※以上、多分に想像で補ってのコメントですので、あてはまらないようならあらためて、もうちょっと詳しい状況を添えて質問してください。

Manager YanaKen
178.
Re2:KR.EXEについて教えて下さい
2004年02月02日(月) 16時00分
もも
早速の返信ありがとうございます。
すみません、説明不足だったので追加します。

起動タイミングをbatchをクリックではなく、batchにファイルをドラッグ&ドロップした時で行いたいのですが、それを行うには、どうしたらよいでしょうか?batchを作り直さないと無理ですか?

余談ですが、VBだと1つ1つ処理を進めて、配列にどの値が入っているか等確認が簡単にできますが、batchでそのようなツールとかみかけたことはありますか?それとも、やっぱりdosコマンドでやるものなのでしょうか?

dosは初めてでよくわからず・・・
お手数ですが、よろしくお願いします。
179.
Re3:KR.EXEについて教えて下さい
2004年02月02日(月) 17時12分
ふぇむ
>起動タイミングをbatchをクリックではなく、batchにファイルをドラッグ&ドロップした時で行いたいのですが、それを行うには、どうしたらよいでしょうか?batchを作り直さないと無理ですか?

DOSコマンドバッチスクリプトのアイコンないしショートカットに対してファイルないしフォルダをドラッグ&ドロップで落とすと、あたかも選択した1つないし複数のファイルないしフォルダフルパスを引数にとってスクリプトを起動したかのようになると思います。それを前提にスクリプトを書けばよいでしょう。

必要な起動オプションなどをつけたければ、ショートカットを利用すれば書き込めます。


>余談ですが、VBだと1つ1つ処理を進めて、配列にどの値が入っているか等確認が簡単にできますが、batchでそのようなツールとかみかけたことはありますか?それとも、やっぱりdosコマンドでやるものなのでしょうか?

デバッガ的な環境ってことですよね。そういう便利なツールはないですね。
個人的には、ある引数を与えると全体がテストモードとして動くような細工を施したりしていますが...
180.
Re3:KR.EXEについて教えて下さい
2004年02月03日(火) 00時37分
oo
>早速の返信ありがとうございます。
>すみません、説明不足だったので追加します。

YanaKenさんのコメントへのコメントとして書かれてますが、
YanaKenさんの書かれた

> したがって、もし「キー入力を待たずに処理が先に進んでしまう」
>のだとしたら、「(PATHが設定されたディレクトリにKR.EXEが
>おかれていないなどの理由で)KR.EXEが起動できていない」
>ことを意味すると考えてよろしいでしょう。

> 一般論になりますが、バッチファイルが期待通り動作しない場合、
>・そのバッチファイルの起動時に必要なパラメータが(%1,%2などとして)
>ちゃんと渡っているかどうかを、ECHOコマンドなどでチェックする。
>・PAUSE命令を要所に書き加え、1ステップずつ処理を停止させ、
>確認しながら実行する。
> ……の2手法の活用をおすすめします。

の意味がわからないのでしょうか?そうなら、どのあたりがわからないか書かれた方がいいでしょう。

>起動タイミングをbatchをクリックではなく、batchにファイルを
>ドラッグ&ドロップした時で行いたいのですが、それを行うには、
>どうしたらよいでしょうか?batchを作り直さないと無理ですか?

ドラッグ&ドロップというのは、処理対象のファイルをそのコマンドファイルに(パラメータとして)教えてあげるわけですが、コマンドファイルをダブルクリックするとパラメータ無しに起動するだけです。したがって、ダブルクリックによる起動と、ドラッグ&ドロップによる起動ではそもそものやりたいことが違うはずですが、具体的にいったいどういうことをやりたいんでしょうか?

バッチファイルの内容を書けば、よりわかりやすいアドバイスが得られるでしょう。
 
 


カテゴリー「PAUSE,CHOICE…キー入力待ち/時間待ち」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2004年01月29日 18:50に投稿されたエントリーのページです。

ひとつ前の投稿は「NET VIEWで表示されるPC名全員へメッセージ」です。

次の投稿は「ファイルの実行アプリケーションを変更する方法(assocの使い方)」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート