08. 外部ファイルを扱う」カテゴリーアーカイブ

8.2. マクロの中で外部ファイル読み込みを試す

8.2.1. 外部ファイルを読む

それでは、久しぶりの登場ですが、5.4.までで作ったシンプルマクロの進化版を使って、外部ファイルを取り込んで行きたいと思います。

 

8.2.1.1. シンプルマクロの振り返り

5.4.までに作成したマクロは以下の通りです。

 

このマクロでは、telnetして、ログをとって、ログを保存するところまでできましたね。

このマクロでは、接続先のIPアドレスを変更するには、いつもマクロの中身を書き換えなければなりませんでした。

これを解消していくために、外部ファイルをうまく使って、接続先IPアドレスを取り込めるようにしましょう。

 

8.2.1.2. IPアドレスファイルの準備

今回は、IPアドレスのリストを別で用意して、そこから一行ずつIPアドレスを読む形式をとりたいと思います。

外部ファイルとして、list.txtを準備し、そこに下記のように適当にアクセスしたいIPアドレスリストを書き込みます。

 

テキストファイルにこちらを上の三行を書いて、マクロと同じディレクトリにlist.txtで保存しておきます。

 

8.2.2. マクロに組み入れる

ここまで準備できたら実際のマクロに組み込んで行きましょう

マクロの中に組み入れる前に、組み入れるマクロの元となるコマンドをあらかじめ作っておきます。

 

8.2.2.1. 組み入れるコマンドの確認

まずはlist.txtを読み込む必要がありますので、fileopenを書いて行く必要があります。

list.txtに書いてあるものを最初から読み込んで、FHに格納します。

 

続いて、FHに格納したものの一行目を読み込んでいきます。

FHの中から一行目を読み込み、LINEに格納します。

 

最後にFHを閉じる必要があります。

 

 

8.2.2.2. コマンドを記述する

それでは、先ほど振り返ったマクロの中にコマンドを書いて行きましょう。

 

1-4行目で、list.txtを開いて、中身をFHに格納しています。

6-10行目で、FHから一行読みだして、LINEに格納しています。

12-16行目で、今まで直接IPアドレスを変数に代入していたIP_ADDR変数に、LINE変数を代入しています。

 

これで、ファイルを読むところまでは作成する事ができました。

しかし、まだ実現できていない事があります。

そうです。二行目のループを考えて行かなければなりません。

そこで、次回は、ループを使って、二行目のtelnetを作って行きたいと思います。