Teratermマクロサンプル(ログイン~コマンド実行~ログアウト)
サンプル(パスワード認証)
;================================================= ; COMMENT1 : ; COMMENT2 : ;================================================= ;;接続先IPアドレス HOSTADDR = 'xxx.xxx.xxx.xxx' ;;接続先ユーザー名 USERNAME = 'hoge' ;;パスワード初期化 PASSWORD = 'hoge' ;;パスワードファイルのパス PASSFILE = 'hoge_pass.txt' ;;日付取得 年月日時間 getdate DATE '%Y%m%d_%H%M%S' ;;ログファイル名設定 ファイル名に日時を文字列連結で追加 LOGNAME = "C:\Users\hoge\Documents\log_" strconcat LOGNAME DATE strconcat LOGNAME ".log" ;;パスワード取得 getpassword PASSFILE USERNAME PASSWORD ;;接続コマンド組み立て COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=PASSWORD /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /passwd=' strconcat COMMAND PASSWORD ;;接続 connect COMMAND ;;接続判定1 接続失敗したら終了 if result <> 2 then messagebox 'Could not connect' 'Connection Error' end endif ;;接続判定2 10秒待ってプロンプトが出なければタイムアウトで終了 timeout = 10 wait '$' '#' if result = 0 then disconnect end endif ;;マクロを隠す show -1 ;;自動でログ取得を設定している場合は終了 logclose pause 2 ;;ログ取得開始 漢字、改行コード変換して書き込み ファイル存在時上書き logopen LOGNAME 0 0 ;;ログ見出し追加、改行 logwrite '######TEST'#13#10 ;;ログウィンドウを隠す showtt 6 ;;実行コマンド例 シングルクオーテーションの中でシングルを使うときはダブルにする sendln 'pwd > /home/hoge/pwd_`date -d "1 month ago" +%Y%m`.txt' sendln 'ls > /home/hoge/ls_`date -d "1 month ago" +%Y%m`.txt' pause 1 sendln 'exit' ;;改行追加 logwrite #13#10 ;;ログを閉じる logclose ;;マクロ終了 end
サンプル(鍵認証)
;================================================= ; COMMENT1 : ; COMMENT2 : ;================================================= ;;接続先IPアドレス HOSTADDR = 'xxx.xxx.xxx.xxx' ;;接続先ユーザー名 USERNAME = 'hoge' ;;鍵ファイル名 ppkに変換した鍵が使えた KEY_FILE=key.ppk' ;;初期化 MACRO_DIR='' KEY_FILE_PATH='' ;;マクロがあるパスを取得 getdir MACRO_DIR ;; 鍵ファイルパス生成 マクロがあるディレクトリに「\」とパスワードファイル名を連結 strconcat KEY_FILE_PATH MACRO_DIR strconcat KEY_FILE_PATH '\' strconcat KEY_FILE_PATH KEY_FILE ;;日付取得 年月日時間 何度も実行する場合ログファイル名が重ならないように時間まで入れている getdate DATE '%Y%m%d_%H%M%S' ;;ログファイル名設定 ファイル名に日時を文字列連結で追加 LOGNAME = "C:\Users\hoge\Documents\log_" strconcat LOGNAME DATE strconcat LOGNAME ".log" ;;接続コマンド組み立て ここが公開鍵認証設定になっているので注意 COMMAND = HOSTADDR strconcat COMMAND ':22 /ssh /2 /auth=publickey /user=' strconcat COMMAND USERNAME strconcat COMMAND ' /keyfile=' strconcat COMMAND KEY_FILE_PATH ;;接続 connect COMMAND ;;接続判定1 接続失敗したら終了 if result <> 2 then messagebox 'Could not connect' 'Connection Error' end endif ;;接続判定2 10秒待ってプロンプトが出なければタイムアウトで終了 timeout = 10 wait '$' '#' if result = 0 then disconnect end endif ;;マクロを隠す show -1 ;;自動ログ取得をセットしている場合は終了させる logclose pause 2 ;;ログ取得開始 漢字、改行コード変換して書き込み ファイル存在時上書き logopen LOGNAME 0 0 ;;ログ見出し追加、改行 logwrite '######TEST'#13#10 ;;ログウィンドウを隠す showtt 6 ;;実行コマンド例 シングルクオーテーションの中でシングルを使うときはダブルにする sendln 'pwd > /home/hoge/pwd_`date -d "1 month ago" +%Y%m`.txt' sendln 'ls > /home/hoge/ls_`date -d "1 month ago" +%Y%m`.txt' pause 1 sendln 'exit' ;;改行追加 logwrite #13#10 ;;ログを閉じる logclose ;;マクロ終了 end
【PR】
Amazonベーシック 乾電池 単4形 アルカリ 保存期限10年 20個セット 1.5V 液漏れ防止
¥693
(2024年11月23日 22:51 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)