TeraTermマクロでよく使われるTTLコマンドTips

他のページでは細かく紹介していなかったループ処理など、よく使うTTLコマンドや処理についてのTipsをまとめました。

尚、Tera Termはバージョンに気をつけないと意図した通りにマクロが動かない場合があるので、もしも業務用途でマクロを作成する予定があるのならば「Tera Termのバージョン、気にしていますか?」を参照してください。

スポンサーリンク

接続

connect

このTTLコマンドは、TeraTermマクロとTeraTermをリンクするコマンドです。コマンドの結果はシステム変数resultへ格納されます。

testlink

testlinkコマンドを実行する事により、リンク状態を調べることができます。testlinkの結果はシステム変数resultへ格納されます。

ループ処理

無限ループ

無限ループは、do〜loopで実現できる。

別の書き方では  “while 1” で実現できる。

whileとuntilの違い

whileは条件を満たす間ループする。

untileは条件を満たさない間ループする。

for文で指定回数ループする

10回処理を繰り返すには次のようにする。

次のfor文も同様に10回処理を繰り返す。

do〜loop

doで条件判定する場合と、loopで条件判定する場合とでは動作が異なる。
doで条件判定する場合は、ループ処理に入る前に条件判定を行う。

loopで条件判定する場合は、ループ内の処理を実行後、条件判定を行う。必ず1度はループ内の処理が実行される。

break

途中でループから抜けるためにはbreakを使用する。breakが書かれているループブロックの外側へ抜ける。

次のマクロを実行するとfor文から抜けるが、do〜loopから抜ける事はできない。

breakはTera Term 4.53以降でないと使えませんので、注意してください。

continue

ループの先頭に戻るにはcontinueを使用する。continueが書かれているループブロックの先頭へ戻る。

continueはTera Term 4.77以降でないと使えませんので、注意してください。

配列

文字列配列と数値配列を扱う事ができる。配列を使う場合は、事前に要素数を宣言する必要がある。指定可能な要素数は1〜65536となっていて、添字は0から始まる。

文字列配列を使うためには次のようにする。

数値配列を使うためには次のようにする。

文字列処理

sprintfとsprintf2

2つのTTLコマンドの違いは次の通りです。

  • sprintf – 結果がシステム変数inputstrに格納される
  • sprintf2 – 結果が指定された変数に格納される

フォーマットは文字列ならば「%s」、数値ならば「%d」となります。通常はこの2つのみ知っていれば問題ありません。もっと知りたければTeraTermヘルプを参照してください。

strconcat

2つの文字列変数を連結するためには、strconcatを使用します。次のTTLコマンドは変数xxxに変数yyyの内容を連結します。

このTTLコマンドをフルパスのファイル名作成に使用する事はおすすめしません。フルパスのファイル名を作成する場合はmakepathをおすすめします。

makepath

このTTLコマンドは、ディレクトリ名とファイル名からフルパスのファイル名を作成します。必要であれば「¥」を自動的に挿入してくれます。

その他のコマンド

yesnobox

ユーザーに判断を委ねる場合はyesnoboxを使用します。

結果はシステム変数resultに格納されます。

  • 0 – 「いいえ」ボタンが押された
  • 1 – 「はい」ボタンが押された

inputbox

ユーザーに文字列入力を促す場合はinputboxを使用します。

入力した内容はシステム変数inputstrへ格納されます。

filenamebox

ユーザーにファイル名を選択させる場合はfilenameboxを使用します。

ダイアログボックスの種類の種類は2通りあります。指定しない場合は0となります。

  • 0 – 「ファイルを開く」ダイアログボックス
  • 0以外 – 「ファイル名を付けて保存」ダイアログボックス

初期ディレクトリを指定したい場合はディレクトリを指定します。初期ディレクトリを指定しない場合は空にします。その場合はwindowsの仕様により初期ディレクトリが自動的に決定されます。

スポンサーリンク

フォローする

スポンサーリンク