Teratermでログインしたときにタイムアウトを防止するマクロ

IT

teratermでログイン後、一定時間たったらタイムアウトされてしまうと、いちいちログインするのが面倒になるものです。それを防止するための一つの方法です。

プログラムと使い方

ソースコード

do
    sendln
    pause [second]
loop

[second]の部分に改行文字(windowsならエンターキーを押したとき)を送信した後の待機時間を設定します。

例えば待機時間が5秒ならば、

pause 5

とする。

待機時間をミリ秒で設定したい場合は、pauseの代わりに

mpause [millisecond]

を使用する。

マクロファイルの準備

  1. エディタを起動する。
    windows標準のメモ帳でもなんでも良い。
  2. コードを書く。またはコピー&ペーストする。
  3. 拡張子”ttl”でファイルを保存する。

マクロファイルの実行

  1. 機器にteratermでログインする。
  2. ログイン後、teratermのメニュー「コントロール」の中から「マクロ」を押下する。
  3. ファイル選択画面が表示されるので、作成したttlファイルを選択して実行する。
  4. マクロが実行される。

コード解説

TTLコマンドリファレンス

TTL コマンドリファレンス

コード詳細

do
    sendln
    pause [second]
loop

プログラムの流れは以下の通り。(マクロは上の記述から順番に実行されます。)

  1. doが読み込まれる。(動きはなし。)
  2. sendlnが実行され、teratarm接続先に改行文字が送信される。
  3. pauseが実行され、指定秒数待機する。
  4. 処理がloopまで来ると、doへ処理が飛ぶ。
  5. 以降1~3の繰り返し。

使っている文は3つ。

  • do ~ loop
  • sendln
  • pause

do ~ loop

繰り返し処理をするための文。

doとloopの間に書いた処理を条件式に従って繰り返す。

今回のプログラムでは条件式を指定していないため、マクロを停止するまで永遠に処理を繰り返し続けます。

sendln

改行文字を送信する。

sendlnの後に文字列を書くことで、”その文字列” + “改行文字”を送信。

今回のプログラムでは改行文字のみを送信します。

もし、”ls”などのコマンド文を記載していた場合、”ls”と改行文字を送信。

pause

指定した秒数、待機する。

もし秒数を指定しない場合、この処理分をマクロが実行する段階でエラーになる。

終わりに

teratermマクロの基本(?)とも言えるこの繰り返し改行文字を送信するマクロの紹介でした。

マクロは使えると便利なので、このマクロから発展して自分だけのツール作りをしてみると良いと思います。

タイトルとURLをコピーしました