TeraTerm用のマクロを作ってみる
LastUpdate : 08/12/18
私がいつも使っているのは、TeraTerm(http://ttssh2.sourceforge.jp/)です(たぶんw)。
簡単なサンプルを作成してみました。一応動くみたいなので、のっけておきます。
実は、詳細については、TeraTermのヘルプの中([ヘルプ(H)]→[目次(I)])に書かれています。なので、ここでは、実際作ったマクロと、その実行方法について書きたいと思います。
下準備として、マクロファイルの拡張子であるttlファイルを、ttpmacro.exeに関連付けをしておきます(windowsの設定。また、ttpmacro.exeは、teratermのプログラムファイルと同じフォルダの中にあります)。
サンプルとして、rootでログインし、「 ls -al 」コマンドを実行し、終了するマクロです。
;ホストのアドレスを指定(各自の環境に合わせて変更) hostaddress = '192.168.11.65' ;ログインするユーザ名前の指定(変更してください) username = 'root' ;パスワードの指定 passwd = 'passwd' ;ログインコマンド用の文字列を作成 sendmsg = hostaddress strconcat sendmsg ':22 /ssh /auth=password /user=' strconcat sendmsg username strconcat sendmsg ' /passwd=' strconcat sendmsg passwd ;サーバへ接続し、ログインする。 connect sendmsg ;ログ取得スタート(+スタート直後の時間をログに書き込む) logopen 'ttl.log' 0 0 getdate currentdate gettime currenttime sprintf '処理開始 : %s %s'#13#10#13#10 currentdate currenttime logwrite inputstr ;最初の表示が出てくるまで待つ(自分の環境に合わせて変更してください) wait '[root@chiki ~]#' ;コマンドを実行 sendln 'ls -al' ;最初の表示が出てくるまで待つ(自分の環境に合わせて変更してください) wait '[root@chiki ~]#' ;exitすることをログに書き込む。 getdate currentdate gettime currenttime sprintf #13#10#13#10'処理完了 : %s %s' currentdate currenttime logwrite inputstr ;ログをクローズする。 logclose ;終了する。 sendln 'exit' |
作っていて、悩んだ点が改行です。
文字列に#13#10をくっつけると改行になる様子です。
また、ログファイルに、ttl.logを指定していますが、これは、ttpmacro.exeがあるフォルダと同じ場所に出来る様子です。他の場所に指定したい場合は、絶対パスで指定すればたぶん大丈夫なのではないかと思います。
また、今回のオプションの指定方法では、一回実行されるごとに、過去のttl.logファイルを削除し、新たにttl.logファイルを作成し、ログをそこへ出力しています。オプションにより、色々指定可能なので、マニュアルを見てみてください。
このファイルにて、sendln 'ls -al' とやっているところが、lsコマンドを実行しているところです。この部分をいろいろと拡張していけば良いかと思います。