TeraTerm マクロの使い方
2021/05/18 05:04
TeraTerm マクロの使い方
マクロとは、操作を自動化するための技術の総称です。そのため、Tera Term マクロというと、Tera Term の操作を自動化するための技術、という意味になります。
マクロファイルとは、プログラムに行わせたいコマンドをそのままテキストファイルに記述したものです。
そのマクロを Tera Term に読み込ませる方法ですが、割と種類があります。
メニューから選択
メニューから [コントロール(O)] → [マクロ(M)] を選択します。ファイルを選択するダイアログボックスが出てくるので、利用したいマクロを選択して「開く」ボタンをクリックします。
メニューから操作すると、選ぶ手間が増えますが TeraTerm が開いていれば、どんなタイミングでも読み込めます。
コマンドラインから読み込ませる(TTERMPRO.EXE)
コマンドプロンプトからのマクロ読み込みは、TeraTerm の起動時……ということでもあります。自動ログインぐらいしか用途が思い浮かびませんが、なにかありますかね……
とりあえず、平田豊さんが用意されている ssh2login.ttl を利用させていただきます。
このサンプルマクロは Tera Term をインストールしたフォルダを開くと、あります。
これをメモ帳等のテキストエディタで開くと、以下の記載があります。
C:\Program Files (x86)\teraterm\ssh2login.ttl
; sample macro of Tera Term ; ; File: ssh2login.ttl ; Description: auto login with SSH2 protocol ; Environment: generic ; Update: 2004/12/4 ; Author: Yutaka Hirata username = 'nike' hostname = '192.168.1.3' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; msg = 'Enter password for user ' strconcat msg username passwordbox msg 'Get password' msg = hostname strconcat msg ':22 /ssh /auth=password /user=' strconcat msg username strconcat msg ' /passwd=' strconcat msg inputstr connect msgusername の nike を、アクセスしたいホストへのアカウント名へ書き換えます。
また、hostname の 192.168.1.3 も、アクセスしたいホストへ書き換えます。
そのまま保存してください。
別名を付けて保存しても良いですが、以後は保存した先のファイル名は読み替えるようにしてください。
マクロでやっていることを簡単に書くと
- username、hostname を定義
- 変数 msg にパスワード入力を促すメッセージを入れて passwordbox コマンドで入力してもらう。
- 変数 msg で connect コマンドのオプションを組み立てる。
- connect で対象ホストへアクセスする。
"c:\Program Files (x86)\teraterm\ttermpro.exe" /M="c:\Program Files (x86)\teraterm\ssh2login.ttl"
これで TeraTerm 起動時にマクロが読み込まれて、ssh ログイン処理が開始されます。
なお、途中でマクロを止めたいときは Esc キーを押します。
Esc キーを押した後、終了ボタンをクリックしてください。
ドラッグ&ドロップ(TTPMACRO.EXE)
これも技術的には TeraTerm 起動と同時に読み込ませる方法になりますが、ttpmacro.exe か、そのショートカットに対して、TeraTerm マクロファイル (.ttl) をドラッグ&ドロップします。OS 的な処理で言えば、これは ttpmacro.exe の引数にマクロファイルを与えて実行していることになります。
ttermpro.exe に対してドラッグ&ドロップしても、マクロは読み込まれないので注意が必要です。
TTL ファイルの関連付け
TeraTerm 4.59 から、インストーラで関連付けできるようになって便利になりました。拡張子 .ttl ファイルをダブルクリックすると、ttpmacro.exe にマクロが関連付けられて、そのまま起動できるようになります。
応用
コマンドプロンプトでのマクロ読み込みを理解すると、応用として別なソフトから呼び出せるようになります。たとえば、バッチ。
メモ帳でコマンドラインを書き込み、拡張子を .ttl に変更して保存すると、ダブルクリックで実行できるようになります。
それが VB スクリプトでも、perl でも ruby でも。
読み込むマクロの補足説明
マクロの基本的な拡張子は (.ttl) ですが、中身は単純なテキストファイルです。TeraTerm をインストールしたフォルダには、他にもこんなサンプルがあります。
ファイル | 備考 |
---|---|
dialup.ttl | ダイアルアップログインを行えます。 |
login.ttl | Telnetによるログインが行えます。 |
ssh2login.ttl | sshによるログインが行えます。 |
delpassw.ttl | login.ttl で作成した TeraTerm 用パスワードファイルから、指定パスワードを削除できます。 |
mpause.ttl | マクロサンプル - mpause |
random.ttl | マクロサンプル - random |
screencapture.ttl | マクロサンプル - スクリーンキャプチャ |
wait_regex.ttl | マクロサンプル - wait_regex |
なお、メモ帳は Windows 10 バージョン 1903 から UTF-8 (BOM無し) での保存がデフォルトになっています。