はじめに

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マクロによるファイルの送信と受信