• 締切済み

MS-DOSのバッチファイル作成(テキストの抽出方法)について

複数台のマシン(PC,Unix)の死活監視を行なうDOSのバッチを作成しようとしています。 バッチの内容としては、 ・管理用PCから、それぞれの監視対象マシンに対して PINGを発行し、レスポンスがあれば(0%lossの場合) OKを表示し、レスポンスが無ければ(100%lossの場  合)NGを表示するという簡単なものを考えています。 しかしながら、PINGの結果からfindでlossの行を抜き出したまでは良いのですが、"0%loss"を変数に入れて 判定するところが、うまくいきません。 ping ※※.※※※.※※.※ | find "loss" > temp.$$$ temp.$$$から"0%loss"もしくは、"100%loss"を抜き出し、変数に入れて、 if "%%a" == "(0% loss)" goto OK :OK echo OK の様にしたいと思っています。 お手数ですが、ご存知の方が居られましたら教えてください。 よろしくお願いします。

みんなの回答

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.1

「0%」も「100%」も、「0%」という部分を持っていますので、判定するなら 「100%ならばNG」のようにしないとダメじゃないですか? はずしてたらごめんなさい。

CockRobin
質問者

お礼

早速の回答、ありがとうございました。 また、テキスト(temp.$$$)からの抽出方法について、更なるアドバイスがございましたら、お願いします。 ちなみに、 for /F "tokens=* delims=" %%a ..... set words=%%A:~43,7% のような感じで抽出しようとしています。

関連するQ&A