はじめに
WinSCPを利用して、WindowsのバッチファイルでSFTPを自動化する。
手順
1.WinSCPで接続設定する。
WinSCPを立ち上げ、プロトコルにSFTP、SSHのAuthenticationでPageant認証を試みるを選択する。
※Pageant認証:パスワード入力を自動化してくれる
2.WinSCPのコマンドモードプログラムWinSCP.comを実行する。
winscp> open user@host
※パスワードが設定されていなければ、ここでパスワードを聞かれる。
3.2の処理を自動化するため、WinSCP.comをバッチファイルから実行する。
call "C:\Program Files\winscp\WinSCP.com" user@host /script=C:\project\winscp_auto.txt
バッチファイルから呼ぶため、呼び出し元に戻ってくるようにcallをつけて実行する。
接続した後の処理は別のファイルに記載する。(今回はwinscp_auto.txt)
winscp_auto.txt
put C:\project\putfile.zip
get server_file C:\project\get\
※WinSCPで実行できるコマンドは、「help」、「help command名」で参照できる。
よく使うコマンド
コマンド | 意味 |
---|---|
put(send) | 送信 |
get | 受信 |
call | リモート側のシェルコマンドの実行 |
option | オプションの設定 option confirm off(確認メッセージOFF)など |
WinSCPを利用したサンプルプログラム
関連技術
Windows端末とLinuxサーバのファイルの送受信手段
Tera Termマクロによるファイルの送信と受信