それでは、今度は応用になります。
「ファイルから読み込んでコマンドを実行するTeraTermマクロ」にて、
ローカルPC上に配置したファイルからコマンドを読み込んで実行しました。
また、複数端末へのログインは下記のサンプルにて実施しました。
上記二つで学んだ処理を組み合わせて「ファイルにホスト名を記述して、
読み込んだホストへまとめてログインする。」動作を試して見ましょう。
そうすることで、汎用性のある複数端末への自動ログインマクロを作ることができます。
サンプルとしては、下記になります。
;ユーザ名 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が起動する挙動になるので、ご注意下さい。