以前、Tera TermのSCP機能を利用し、手動操作でファイルの転送(送受信)を行う手順をご紹介させていただきました。覚えてらっしゃいますか?
⇒ Tera Term(SCP機能)を利用してのファイル転送(送信編)
⇒ Tera Term(SCP機能)を利用してのファイル転送(受信編)
簡単なファイルの送受信には、かなり便利な機能でしたよね。
ここでは、SCP機能を使い手動操作でファイルの送信を行うのではなく、Tera Termのマクロ機能を利用してファイルの送信を行いたいと思います。
接続先ホストに、ファイルを配布したりするのに使用すると便利なマクロかもしれませんね。
スポンサーリンク
テラタームマクロを使ったSCPファイル転送(送信編)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | ;=========================================================== ; Filename : file-tranfer-02.ttl ; Description : SSH Auto login ; Author : JUNZOU ; Created : 2011/04/10 ; modified : ;=========================================================== ;; 接続先ホスト/ユーザ名/パスワード/送信ファイル設定 HOSTADDR = '接続先IPアドレス' USERNAME = 'ユーザ名' PASSWORD = 'パスワード' DESTFILE = '/tmp/test.txt' SOURFILE = 'C:\work\test.txt' ;=========================================================== ;; ①コマンド組立て 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 'It could not be connected.' 'Connection Error' end endif ;; ④接続判定2(10秒以内にプロンプトが表示されない場合TeraTerm終了) timeout = 10 wait '$' '#' if result = 0 then disconnect 0 end endif ;; ⑤ファイル送信 scpsend SOURFILE DESTFILE mpause 1000 sendln 'exit' ;; ⑥マクロ終了 end |
マクロ内容の解説
⑤ファイル送信
SCP機能を利用してファイルの送信を行っています。
TTLコマンド「scpsend」の書式(△はスペース)
scpsend△ローカルPCファイルフルパス名△リモートファイルフルパス名
ファイル送信中にエラーが出るようであれば「mpause 1000(1000ミリ秒)」の値を少し増やしてみてください。ファイルの送信中にマクロが終了しエラーを起こしている場合があります。
他の部分の解説については、ここでは割愛させていただきます。過去に「SSH自動接続マクロ」の中で詳しく解説していますので、そちらをご参照ください。
おわりに
まあ簡単なファイルを配布するのにはもってこいのテラタームマクロですね。便利機能ですので、是非ご利用ください。