waitregex

【Tera Term マクロ言語】コマンドリファレンス

waitregex 機能

[通信コマンド]

正規表現文字列を含む行を待ちます。

コマンドライン

waitregex <string1 with regular expression> [<string2 with regular expression> ...]

機能説明

Oniguruma の正規表現が使用できます。

正規表現文字列のうち 1 つ以上を含む行(最大 511 文字)をホストから受信するか、タイムアウトが発生するまでマクロを停止します。
正規表現文字列は最大 10 個まで指定できます。

システム変数 timeout か mtimeout が 0 より大きい場合、<timeout>.<mtimeout> 秒の時間がすぎるとタイムアウトが発生します。
タイムアウトの値が 0 以下の場合は、タイムアウトは発生しません。

これらのコマンドの実行結果はシステム変数 <result> , <inputstr>, <matchstr> に格納されます。
システム変数格納対象
result受信しなかった、もしくは受信した列の番号が格納されます。
inputstr受信した行が格納されます。
matchstr最初にマッチしたパターンが格納されます。
groupmatchstr1
groupmatchstr9
グループマッチしたパターンが格納されます。
日本語等のマルチバイト文字列を待つ場合、事前に regexoption で適切なエンコーディングを設定しておく必要があります。

なお、<mtimeout> の精度は 50 msec 程度です。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<string1 with regular expression>文字列省略不可。正規表現で待機したい文字列を指定します。
<string2 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。
<string3 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。
<string4 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。
<string5 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。
<string6 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。
<string7 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。
<string8 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。
<string9 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。
<string10 with regular expression>文字列省略可。正規表現で待機したい文字列を指定します。

続きを読む

waitrecv

【Tera Term マクロ言語】コマンドリファレンス

waitrecv 機能

[通信コマンド]

文字列を待ちます。

コマンドライン

waitrecv <sub-string> <len> <pos>

機能説明

マクロの実行を一時停止させて、文字列が届くのを待ちます。

次の条件を満たすと、waitrecv の判断処理を行います。

・文字列の長さが <len> 文字
・文字列がその <pos> 文字目(1オリジン)から始まる副文字列 <sub-string> を含んでいる

コマンドは <len> バイトの文字列を受信するたびに、条件を満たすかどうかを確認します。
例えば、<sub-string> が "def"、<len> が 9 、<pos> が 4 のとき、文字列 "abcdefghi" は条件を満たします。

もし条件を満たす文字列が送られてきたら、システム変数 <inputstr> に保存されます。

システム変数 <timeout><mtimeout> が 0 より大きい場合、<timeout>.<mtimeout> 秒の時間がすぎるとタイムアウトが発生します。
タイムアウトの値が 0 以下の場合は、タイムアウトは発生しません。

これらのコマンドの実行結果はシステム変数 <result> に格納されます。

その後、マクロの次の行へ処理を進めます。

なお、<mtimeout> の精度は 50 msec 程度です。
<sub-string>
待機したい受信文字列に含まれる副文字列を指定します。
<len>
対象とする、受信文字列の長さを指定します。

9 であれば 9 文字受信した時点で条件を満たします。
<pos>
受信文字列内で <sub-string> を期待する文字数目を指定します

3 であれば、受信した文字の中で 3 文字目から <sub-string> が含まれることを示します。
受信文字列より大きな数値*1は指定できません。

また、同じ理由で 5 文字中の 4 文字目から xxx という3文字を含む文字列という指定もできません。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<sub-string>文字列待機したい受信文字列に含まれる文字列を指定します。
<len>整数対象とする、受信文字列の長さを指定します。
<pos>整数受信文字列内で <sub-string> を期待する文字数目を指定します。

続きを読む

waitn

【Tera Term マクロ言語】コマンドリファレンス

waitn 機能

[通信コマンド]

指定されたバイト数の受信を待ちます。

コマンドライン

waitn <received byte count>

機能説明

マクロの実行を一時停止させて、<received byte count> に指定されたバイト数以上のデータが届くのを待ちます。

届いたデータは <inputstr> に保存されます。
もし届いたデータが 511 バイトを越える場合は、最初の 511 バイトのみが <inputstr> に保存されます。

システム変数 <timeout><mtimeout> が 0 より大きい場合、<timeout>.<mtimeout> 秒の時間がすぎるとタイムアウトが発生します。
タイムアウトの値が 0 以下の場合は、タイムアウトは発生しません。

これらのコマンドの実行結果はシステム変数 <result> に格納されます。

なお、<mtimeout> の精度は 50 msec 程度です。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<received byte count>文字列データ(バイト数)を指定します。

続きを読む

waitln

【Tera Term マクロ言語】コマンドリファレンス

waitln 機能

[通信コマンド]

文字列を含む行を待ちます。

コマンドライン

waitln <string1> [<string2> ...]

機能説明

文字列 <string1> [<string2> ...] のうち一つを含む行をホストから受信するか、タイムアウトが発生するまでマクロを停止します。
文字列は最大 10 個まで指定できます。

空文字列が指定された場合、任意の一文字(+改行)を受信するのを待ちます。

システム変数 timeout か mtimeout が 0 より大きい場合、<timeout>.<mtimeout> 秒の時間がすぎるとタイムアウトが発生します。
タイムアウトの値が 0 以下の場合は、タイムアウトは発生しません。

これらのコマンドは受信した行をシステム変数 inputstr に格納し、以下戻り値の値をシステム変数 result に格納します。

なお、<mtimeout> の精度は 50 msec 程度です。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<string1>文字列待機したい文字列(1つ目)を指定します。
<string2>文字列待機したい文字列(2つ目)を指定します。
<string3>文字列待機したい文字列(3つ目)を指定します。
<string4>文字列待機したい文字列(4つ目)を指定します。
<string5>文字列待機したい文字列(5つ目)を指定します。
<string6>文字列待機したい文字列(6つ目)を指定します。
<string7>文字列待機したい文字列(7つ目)を指定します。
<string8>文字列待機したい文字列(8つ目)を指定します。
<string9>文字列待機したい文字列(9つ目)を指定します。
<string10>文字列待機したい文字列(10個目)を指定します。

続きを読む

waitevent

【Tera Term マクロ言語】コマンドリファレンス

waitevent 機能

[通信コマンド]

イベントを待ちます。

コマンドライン

waitevent <events>

機能説明

<events> で指定されるイベントが発生するまでマクロを停止します。
<events> は以下のイベント識別子の組み合わせです。

イベント識別子イベント内容
1timeoutシステム変数 timeout か mtimeout が 0 より大きい場合、<timeout>.<mtimeout> 秒の時間がすぎると(タイムアウト)イベントが発生します。
タイムアウトの値が 0 以下の場合は、タイムアウトは発生しません。
2unlinkunlink イベントは Tera Term が閉じられたときに発生します。
4disconnectiondisconnection (または connection) イベントは、Tera Term とホストの間の通信が閉じられた(開かれた)時に発生します。
8connection
これらのコマンドは実際に発生したイベントの識別子をシステム変数 <result> に格納します。

なお、<mtimeout> の精度は 50 msec 程度です。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<events>整数イベント識別子を指定します。

続きを読む