ネットワーク

Teratermマクロで日付・時刻を取得する|getdate と gettime

Teratermマクロでログファイル名に日付を入れたいときや、実行時刻を記録したいときに使うのが getdategettime です。この2つのコマンドの使い方と、取得できる文字列の形式をまとめます。

getdate:日付を取得する

構文

getdate <文字列変数> [<書式文字列>]

使用例

getdate TestDate
messagebox TestDate "今日の日付"

実行日が2021年6月3日の場合、TestDate の中身は次のようになります。

2021-06-03

書式を指定することもできます。

getdate TestDate "%Y%m%d"

この場合は 20210603 が入ります。ログファイル名に使うならこちらのほうが手軽です。

gettime:時刻を取得する

構文

gettime <文字列変数> [<書式文字列>]

使用例

gettime TestTime
messagebox TestTime "現在時刻"

10時39分58秒に実行した場合、TestTime の中身は次のようになります。

10:39:58

ファイル名に使う場合、: はWindowsのファイル名に使えないため書式を指定します。

gettime TestTime "%H%M%S"

これで 103958 が入ります。

つまずきポイント

日付を取るつもりで getdate に時刻の書式を渡さないこと。
時刻は gettime、日付は getdate と分かれています。混同すると意図しない文字列が入り、ログファイル名が壊れます。

書式を指定しない場合、区切り文字が入ります。
2021-06-0310:39:58 の形式なので、ファイル名に使うなら書式指定か、後述の strcopy での切り出しが必要です。

変数の基本

Teratermマクロの変数は宣言不要で、代入した時点で使えます。

FileName = 'test-FW_20210601.txt'
HostName = 'test-L3'

文字列はシングルクォートで囲みます。数値はそのまま代入します。

関連記事

-ネットワーク