logopen

Tera Term のログを開始する。

logopen <filename> <binary flag> <append flag> [<plain text flag> [<timestamp flag> [<hide dialog flag> [<Include screen buffer>]]]]

解説

ファイル <filename> に受信した文字が書き込まれる。ログを開始したあとも次のコマンドは実行される。
ファイル名に \ を含まない場合、Tera Termのカレントディレクトリに作成される。当該ディレクトリを変更するには changedir マクロを使用する。

<binary flag> の値が0のとき、受信した漢字、改行文字は変換されてファイルに書き込まれ、エスケープシーケンスは書き込まれない。
<binary flag> の値が0以外のとき、受信した文字をすべてそのままファイルに書き込む。

<append flag> の値が0以外で、ファイル <filename> がすでに存在する場合、そのファイルに追加して書き込む。
<append flag> の値が0で、ファイル <filename> がすでに存在する場合、そのファイルは上書きされる。

<plain text flag> が 0 以外の場合、ASCII 非表示文字をログに書き込まない。
<timestamp flag> が 0 以外の場合、ログの行頭に時刻を追加する。
ただし、<binary flag> が 0 以外の場合、<plain text flag>, <timestamp flag> は両方とも無視される。バイナリログはログ再生に利用可能。 (バージョン 4.61以降)

<hide dialog flag> が 0 以外の場合、ログ転送のダイアログを表示しない。

<Include screen buffer> が 0 以外の場合、現在の端末バッファすべてを先にファイルに書き込む。 (バージョン 4.80以降)

ログファイルを開けた場合、result に 0 が格納される。開けなかった場合は 1 が格納される。(バージョン 4.62 以降)

connect '/C=1'

; ユーザ名を取得
getenv 'USERNAME' username
; 日時を取得
gettime timestr "%Y%m%d-%H%M%S"

; ログファイル名に日時とユーザ名を入れる。
sprintf2 filename 'console_%s_%s.log' username timestr

; カレントディレクトリを変更する
changedir 'C:\Documents and Settings\yutaka\デスクトップ'

logopen filename 0 0
logwrite 'Log start'#13#10
logwrite '*****************************************************'#13#10
logclose

end
;
; ログ採取をしながら、定型処理を連続実行させる。
;

getenv 'USERNAME' username
gettime timestr "%Y%m%d-%H%M%S"
getdir mdir
sprintf2 filename '%s\console_%s_%s.log' mdir username timestr

logopen filename 0 0

step = 0
while 1
  call show_step
  sendln 'echo do something'
  wait '$'
  pause 2
endwhile

logclose
end

:show_step
step = step + 1
gettime timestr
sprintf2 str '[%d] %s' step timestr
statusbox str 'counter'
return

参照

logwrite
logclose
statusbox
gettime