それでは、今度は応用になります。

「ファイルから読み込んでコマンドを実行するTeraTermマクロ」にて、
ローカルPC上に配置したファイルからコマンドを読み込んで実行しました。

ファイルから読み込んでコマンドを実行するTeraTermマクロ

また、複数端末へのログインは下記のサンプルにて実施しました。

Teratermを複数起動するマクロ

上記二つで学んだ処理を組み合わせて「ファイルにホスト名を記述して、
読み込んだホストへまとめてログインする。」動作を試して見ましょう。

そうすることで、汎用性のある複数端末への自動ログインマクロを作ることができます。

サンプルとしては、下記になります。

;ユーザ名
USERNAME = 'test'

;パスワード設定
PASSWORD = 'testpass' 

;リストから読み込む
fileopen cmdlist 'C:\Users\User\Desktop\malutilogin2\list.txt' 0

;ループ開始
:loopstart

filereadln cmdlist buf

;ファイルから行を読み込めなかった場合
if result<>0 then
    goto loopend
;ファイルから行を読み込めた場合
else
    ;接続コマンド作成
    COMMAND = buf
    strconcat COMMAND ':22 /ssh /2 /auth=password /user=' 
    strconcat COMMAND USERNAME 
    strconcat COMMAND ' /passwd=' 
    strconcat COMMAND PASSWORD

    ;接続
    connect COMMAND

    ;TeraTermのウィンドウを切り離す
    unlink

    goto loopstart

endif

;ループ終了
:loopend

fileclose cmdlist

;マクロ終了 
end

ベタ書きして複数端末にログインした記述に比べてかなりすっきりしましたよね。

スポンサーリンク


上記、マクロを実行すると下記のように正常に複数端末にログインできることを
確認できました。

プログラムの中で使用しているリストの中身は、下記です。

画像では、IPアドレスをベタ書きして記述しておりますが、全然ホスト名でもかまいません。
また、最終行に改行が入ってしまいますと、無駄にTeraTermが起動する挙動になるので、ご注意下さい。

スポンサーリンク