WinSCPをバッチ実行する方法|スクリプトとログの基本
掲載日:
更新日:
INFORMATION > WinSCPをバッチ実行する方法|スクリプトとログの基本
結論:WinSCPはwinscp.com /script=...または/commandで対話操作をバッチ化でき、終了コード0・1とログで成否を判定できます。
この記事の対象と位置付け:WinSCPのGUI操作を定期実行へ移し、同じ転送を繰り返せる形にしたい方向けの記事です。
2026年時点の注意:自動処理では確認ダイアログを頼れません。接続先、転送方向、上書き条件をテスト用ディレクトリで確認し、SSHホスト鍵またはTLS証明書を明示的に検証してください。
概要
WinSCPをバッチで実行する方法についてです。WinSCPは以下の様なGUIで操作することが多いと思いますが、バッチとして動かすことも可能です。
WinSCPのダウンロードフォルダ(「C:\Program Files (x86)\WinSCP」など)を確認すると「WinSCP.com」ファイルがあると思います。このファイルをコマンドプロンプトより呼び出すことによりWinSCPをバッチとして実行することができます。
1. バッチとして操作する方法
最終的には、拡張子.batのバッチファイルを作成してバッチファイルをダブルクリックするだけでWinSCPが動作するようなバッチを作成しますが、まずは、どの様な操作方法でバッチとして操作出来るか手動で確認します。
コマンドプロンプトを起動します。
WinSCP.comを呼びだすとWinSCPのバッチモードとなります。ダウンロードディレクトリは人によって異なると思いますが「"C:\Program Files (x86)\WinSCP\WinSCP.com"」の様なコマンドを実行してもらえればと思います。※C:\ProgramとFilesの間にスペースがあるのでコマンドをダブルクォーテーションで囲む必要があります。
「winscp>」が表示されバッチモードとなります。「open test:test@192.168.100.150(open ユーザ名:パスワード@IPアドレス)」でログインができます。
「get /var/log/httpd/access_log C:\Users\kaito\Desktop\test\(get 取得ファイル 格納先フォルダ)」でファイル取得が可能です。
2. バッチファイルの作成方法
WinSCPをバッチで実行するためには、コマンドプロンプトからWinSCPをバッチを呼び出すための「batファイル」とWinSCPのコマンドを実行するめの「txtファイル」の2つファイルが必要になります。
先ほどの例を参考にすると「"C:\Program Files (x86)\WinSCP\WinSCP.com"」を「batファイル」で「「open test:test@192.168.100.150」「get /var/log/httpd/access_log C:\Users\kaito\Desktop\test\」を「txtファイル」に記載します。
具体的な作り方を知りたい方は、WinSCPをバッチを使って自動ダウンロード、自動アップロードするツールを作っているので参考にしてみてください。
WinSCPコマンドを使ったファイル自動ダウンロード、自動アップロードツールの作り方
3. まとめ
WinSCPをバッチで実行する方法について記載させていただきました。普段業務などでWinSCPを使った定型作業などをしている方は作業の自動化が可能になるので是非実施してみてください。
最後までご覧いただきありがとうございました。
