https://osdn.net/projects/ttssh2/forums/5841/41014/#forum-message-83348
これに口をはさんだ後で「マクロで作るならどうやるだろう?」と思ってしまったので作ったマクロ。
inputbox でダウンロードするデータを指定しておいて、デスクトップに送ってみる。
; ダウンロードするファイルの指定
inputbox 'Download file' 'input'
SrcFileName = inputstr
; ダウンロード先
expandenv BaseDir '%HOMEDRIVE%%HOMEPATH%'
sprintf2 DestFileName "%s\Desktop\%s" BaseDir SrcFileName
messagebox DestFileName 'DestFileName'
; コマンド scprecv <remote file name> [<local file name>]
;scprecv SrcFileName DestFileName
ここまで書いて、私は思いました。
「……あ、これ .ttl ファイルをダブルクリックしただけじゃだめじゃん。」
そう、メニューから「コントロール」→「マクロ」で呼び出さないといけません。
うーん、デスクトップ指定が面倒だと言っているのに、あんまり面倒さが変わらないw
というか、だ。
自分が Tera Term の SCP 機能を使うときは、ダウンロード先を開いたうえで、ソースとデストのパスをそれぞれテキストエディタにコピペしてた。
ソースは Tera Term の画面で echo $(pwd)/xxx とかでフルパス出力させればコピペも楽だったし。
他の人……というか同僚が WinSCP を使う中、自分だけそんなやり方をしてたのを思い出す。
うーん、サンプルマクロの記事としては微妙なので、技術メモとして。
何か応用効くかなぁ……
一応、上記サンプルマクロのバージョン情報を。
利用マクロのバージョン情報
種別:通信 | Ver | 機能の簡易説明 |
scprecv | 4.57以降 | SCPプロトコルでファイルを受信する。 |
種別:文字列操作 | Ver | 機能の簡易説明 |
expandenv | 4.71以降 | 環境変数文字列を展開する。 |
sprintf2 | 4.62以降 | フォーマットされた出力を返す。 |
種別:その他 | Ver | 機能の簡易説明 |
inputbox | | 文字列を入力するためのダイアログボックスを開く。 |
4.53以降 | デフォルト入力文字を設定するオプションの追加。 |
4.54以降 | 特殊文字の解釈を制御するオプションの追加。 |
messagebox | | ダイアログボックスを開き、ユーザーにメッセージを知らせる。 |
4.54以降 | 特殊文字の解釈を制御するオプションの追加。 |
4.60以降 | キャンセル時にマクロ停止を確認する機能の追加。 |
Tera Term 本体が、環境変数をデフォルトで解釈してくれるならすごくうれしい。