【Tera Term マクロ】COMポートを自動検出してコンソール接続する

マクロ

動作確認環境

  • Tera Term 4.104

ネットワーク機器にコンソール接続する Tera Term マクロ

Tera Term マクロを使用してネットワーク機器にコンソール接続する場合、マクロでは以下のようなコマンドを記述します。

  • connect "/C=x"
    • x:COMポート番号を指定

例:

connect "C=3"

このマクロで指定する COM ポート番号は、Tera Term 画面上における以下赤枠の部分の COM ポート番号に該当します。

この COM ポート番号は使用する PC 及び使用するコンソールケーブルによって変わってくるため、使用する PC 及びコンソールケーブルが決まらなければマクロ内に COM ポート番号を書き込むことができないという問題があります。

COM ポートを自動検出する Tera Term マクロ

接続可能な COM ポートを自動検出し、任意の COM ポートを選択して接続するマクロを作成することができます。以下で説明します。

マクロ実行イメージ

マクロを実行すると以下のようなリストボックスが表示されます。

リストには接続可能な COM ポートのリストが表示されます。
接続したい COM ポートを選択した上で「はい」をクリックすると選択したポートに接続できます。

マクロ内容

詳細な説明は省略しますが、以下のような処理内容にすることで、使用可能な COM ポートを自動検出した上で、任意の COM ポートを選択して接続することができます。

;;=======================================
;;変数定義
;;=======================================
MAXCOMNUM = 20
strdim ItemList MAXCOMNUM
intdim PosToPort MAXCOMNUM
n = 0

;;=======================================
;;接続可能COMポート調査
;;=======================================
for i 1 MAXCOMNUM
  sprintf2 portname "/C=%d" i
  connect portname
  if result > 1 then
    sprintf2 item "COM%d" i
    ItemList[n] = item
    PosToPort[n] = i
    n = n + 1
    closett
  endif
next

;;=======================================
;;接続COMポート選択
;;=======================================
listbox "接続可能なCOMポートリストを表示しています" "接続先COMポート選択" ItemList
if result = -1 then
  messagebox "キャンセルされました" "案内"
else
  sprintf2 portname "/C=%d" PosToPort[result]
  connect portname
endif

上のマクロ内容をコピーして、テキストファイルに貼り付けて保存し、そのテキストファイルの拡張子を「.ttl」にすればマクロは完成です。

マクロのダウンロード

自作するのが面倒な人は以下の BOX 共有ページからマクロファイルをダウンロードしてください。

コンソール接続.ttl | Powered by Box

このマクロの活用方法

今回紹介したコンソール接続マクロは、単に接続するだけであれば Tera Term 画面から手動でシリアル接続する場合とそれほど手間は変わりませんが、接続後のログインやコマンド実行処理も追加することでコンソール接続に加えてログ取得をするマクロにすることもできます。

特に、このマクロは一台の PC で複数のコンソールケーブルを使用することにも対応しているため、複数のネットワーク機器に対して同時に作業を行うという状況にも対応できます。


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