TeraTermのログ出力付き接続マクロを紹介します。
; 基本情報
HOSTNAME = 'エックスサーバー1' ; ★識別名 (C:\TEMP\log\識別名 とフォルダを作成するため注意)
HOSTIP = '接続先のIPアドレス' ; ★接続先のIPアドレス 例)127.0.0.1
USERNAME = 'ユーザー名を入れる' ; ★接続ユーザー名
PASSWORD = '' ; 今回は使用しません
; ログ保存先を設定する
; デフォルトでは C:\TEMP\log\識別名 に作成する
dirroot = 'C:\TEMP' ; ログ保存先のルート
dirsub1 = 'log' ; ログ保存先のサブディレクトリ
; ログ保存先のサブディレクトリを調整したい場合
; dirsub1 = 'log\XSERVER'
; ログ保存先の作成
foldercreate dirroot
strconcat dirroot '\'
strconcat dirroot dirsub1
foldercreate dirroot
strconcat dirroot '\'
strconcat dirroot HOSTNAME
foldercreate dirroot
; ログに接続情報を書き出す
getdate logfile '%Y%m%d-%H%M%S.log'
strinsert logfile 1 '_'
strinsert logfile 1 USERNAME
strinsert logfile 1 '_'
strinsert logfile 1 HOSTNAME
makepath log_name dirroot logfile
; パスワード入力画面の作成
MESSAGE = '識別名 : '
strconcat MESSAGE HOSTIP
strconcat MESSAGE ' / ユーザー名 : '
strconcat MESSAGE USERNAME
passwordbox MESSAGE 'パスワードを入力してください'
PASSWORD = inputstr
strcompare PASSWORD ''
if result=0 then
messagebox 'パスワードが未入力のため終了します'
end
endif
COMMAND = HOSTIP
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD
connect COMMAND
if result <> 2 then
messagebox '接続できませんでした'
end
endif
Loginfo NOW_LOGFILE
If result <> -1 then
LogClose
Filecopy NOW_LOGFILE log_name
Filedelete NOW_LOGFILE
endif
logopen log_name 0 1 0 1 1
sendln 'hostname'
wait '$' '#'
sendln 'date'
wait '$' '#'
end