変数

2021/05/18 05:49 Macro::macro 仕様

変数

このページは Tera Term の変数について記載しています。

変数名ルール

変数名には、以下の文字が利用できます。
対象文字制限
[a-z]なし
[A-Z]なし
_(アンダースコア)なし
-(ハイフン)2文字目以降のみ
[0-9]2文字目以降のみ
上記文字の組み合わせ最大長は32文字です。
また、Tera Term が利用する変数名やコマンド名等は予約語であり、利用できません。
例:
    VARIABLE
    var-1a
    _flag
    _01-Variable

予約語

Tera Term で定義されるコマンドや演算子、一部の変数名については、ユーザが変数やラベルの名前として定義して利用することができません。
以下に、変数名として利用できない名前をリストします。

コマンド

exec や logopen 等のコマンド。
コマンド一覧 を参照してください。

演算子

and, not, or, xor

システム変数

以下は Tera Term が予約しているシステム変数と、そのシステム変数を利用するコマンドの一覧です。
バージョンによって、増減する可能性あります*1
文字列型
文字列型のシステム変数は、以下 20 個が予約されています。
名前初期値システム変数を使用するコマンド
1groupmatchstr1文字列(Null)【S】
strjoin
strmatch
strreplace
strsplit
【W】
waitregex
2groupmatchstr2文字列(Null)
3groupmatchstr3文字列(Null)
4groupmatchstr4文字列(Null)
5groupmatchstr5文字列(Null)
6groupmatchstr6文字列(Null)
7groupmatchstr7文字列(Null)
8groupmatchstr8文字列(Null)
9groupmatchstr9文字列(Null)
名前初期値システム変数を使用するコマンド
10inputstr文字列(Null)【F】
filenamebox
【I】
inputbox
【P】
passwordbox
【R】
recvln
【S】
sprintf
【W】
waitln
waitn
waitrecv
waitregex
名前初期値システム変数を使用するコマンド
11matchstr文字列(Null)waitregex
strmatch
名前初期値システム変数を使用するコマンド
12param1文字列マクロ起動時のコマンドラインパラメータ。そのうち、マクロファイル名。
13param2文字列マクロ起動時のコマンドラインパラメータのうち、param1 の次のパラメータ。
14param3文字列マクロ起動時のコマンドラインパラメータのうち、param2 の次のパラメータ。
15param4文字列マクロ起動時のコマンドラインパラメータのうち、param3 の次のパラメータ。
16param5文字列マクロ起動時のコマンドラインパラメータのうち、param4 の次のパラメータ。
17param6文字列マクロ起動時のコマンドラインパラメータのうち、param5 の次のパラメータ。
18param7文字列マクロ起動時のコマンドラインパラメータのうち、param6 の次のパラメータ。
19param8文字列マクロ起動時のコマンドラインパラメータのうち、param7 の次のパラメータ。
20param9文字列マクロ起動時のコマンドラインパラメータのうち、param8 の次のパラメータ。
名前初期値システム変数を使用するコマンド
文字列型配列
文字列型配列のシステム変数は、以下 1 個が予約されています。
名前初期値システム変数を使用するコマンド
1params[x]文字列型配列(Null)基本的には param1 ~ param9 と同じ情報が params[1] ~ params[9] に入る。
10番以降(params[10])も利用可能。
名前初期値システム変数を使用するコマンド
整数型
整数型のシステム変数は、以下 4 個が予約されています。
名前初期値システム変数を使用するコマンド
1paramcnt整数指定されたコマンドラインパラメータ数
名前初期値システム変数を使用するコマンド
2result整数0【B】bplusrecv
bplussend
【C】connect
cygconnect
checksum8file
checksum16file
checksum32file
clipb2var
crc16file
dex/macro/spec/cmd/crc32file
【D】dirnamebox
【E】exec
【F】fileconcat
filecopy
filecreate
filedelete
filelock
filereadln
fileread
filerename
filesearch
filestat
filestrseek
filestrseek2
filetruncate
fileunlock
findfirst
findnext
foldercreate
folderdelete
foldersearch
filenamebox
【G】getmodemstatus
getfileattr
getpassword
getdate
getipv4addr
getipv6addr
getspecialfolder
gettime
getttdir
getver
【I】ispassword
ifdefined
【K】kmtfinish
kmtget
kmtrecv
kmtsend
【L】loginfo
logopen
listbox
【Q】quickvanrecv
quickvansend
【R】recvln
【S】sprintf
sprintf2
str2int
strcompare
strlen
strmatch
strreplace
strscan
strsplit
setfileattr
setpassword
【T】testlink
【V】var2clipb
【W】wait
wait4all
waitevent
waitln
waitn
waitrecv
waitregex
【X】xmodemrecv
xmodemsend
【Y】ymodemrecv
ymodemsend
yesnobox
【Z】zmodemrecv
zmodemsend
名前初期値システム変数を使用するコマンド
3timeout整数0【r】recvln
【w】wait
wait4all
waitevent
waitln
waitn
waitrecv
waitregex
名前初期値システム変数を使用するコマンド
4mtimeout整数0【r】recvln
【w】wait
wait4all
waitevent
waitln
waitn
waitrecv
waitregex
名前初期値システム変数を使用するコマンド

*1 : システム変数の数は、バージョン 4.103 時点のもの。

真偽

基本方針

Tera Term マクロでは、基本的に以下の値を利用します。
数値真偽成否備考
0失敗した。
0以外成功した。例えば connect は「1 = リンクのみ OK」「2 = リンクも接続も OK」というような利用方法をしています。
ただし、追加パラメータで整数を利用する場合は 0 をデフォルトとして利用しています。
戻り値として 0 以外の整数が、基本的に "真" となっています。

例外

filecreate 等、一部のコマンドでは成否が変更することがあります。

filecreate コマンドでの result の意味は、以下の通りです。
数値意味
-1ファイルの作成が失敗した
0ファイルの作成が成功した
filecopy での result の意味は、以下の通りです。
数値真偽成否備考
0成功した。
0以外失敗した。
上記例の filecopy は「-1 = 第1引数がおかしい」「-2 = 第2引数がおかしい」というような利用方法をしています。