まくろぐ

WinSCP をコマンドラインから利用して2つのディレクトリを同期する

更新:
作成:
Linux で2つのディレクトリを同期するには rsync コマンドが便利ですが、Windows ではフリーソフトの WinSCP を使用すると同様のことを行うことができます。

WinSCP のインストール

WinSCP の本体は下記のサイトからダウンロードできます。

ここでは、コマンドラインから winscp.exe を使用しますので、インストーラを使ってインストールするときに、カスタムインストールを選択し、インストールディレクトリを環境変数(%PATH%)に追加を選択してください。

winscp コマンドでリモートホストへディレクトリをコピーする

ローカルディレクトリの内容を、リモートにあるディレクトリへ同期させるには、次のように winscp.exe/synchronize オプションを使用します。

winscp [mysession] /synchronize [local_directory] [remote_directory]

例えば、example.com というホストに、ユーザ名 user で接続してローカルの website ディレクトリ内のファイルを user のホームディレクトリの public_html ディレクトリに同期させるには次のようにします。

例: ローカルの website をリモートの public_html へ
winscp user@example.com /synchronize "C:\Users\maku\website" "/user/maku/public_html"

参考

まくろぐ
サイトマップまくへのメッセージ