• 締切済み

WinSCPをbatファイルでミラーリングアップロ

WinSCPをbatファイルでミラーリングアップロードしたいです。 どのように書けば良いでしょうか?

みんなの回答

  • luka3
  • ベストアンサー率72% (424/583)
回答No.3

EXEによる直接のミラーリングは自分もやったことがないです。 どうしてもそちらで行いたい場合は書式を調べてみてください。 自分が実際に使っていたスクリプト方式のものを下記に例示します。 WinSCPに server という名前でセッション情報をパスワード付で保存しています。 --- uploadscript.txt --- open server option transfer binary lcd D:\SERVER\upload cd /home/user/www/upload synchronize remote -delete close exit --- ここまで --- --- upload.bat --- cd /d %~dp0 D:\SERVER\WinSCP\WinSCP.com /script=uploadscript.txt >>uploadlog.txt --- ここまで --- この2つのファイルを同じ場所に置いてバッチを実行していました。 『D:\SERVER\upload』の全ファイルがサーバーの『/home/user/www/upload』にミラーリングされます。 パスはご自身の環境に変更してください。 この例では、常にテキスト以外のものをミラーリングしていたので、『option transfer binary』を使っていますが、テキストも含まれるのであればこの行を削除して、オート判定で転送するといいでしょう。

masterkentaros
質問者

お礼

ありがとうございました。

  • luka3
  • ベストアンサー率72% (424/583)
回答No.2

何を試してだめだったのか。 エラーメッセージは何ですか? パスワードを聞かれたくないのであれば、WinSCPのセッション情報でパスワードを入力して自動ログイン状態にして、保存時の「セッションの保存名」で付けた名前を SESSION= で指定してください。

masterkentaros
質問者

補足

"WinSCP.exe" [ユーザー名[:パスワード]@][ホスト名] /synchronize [ローカルディレクトリ] [リモートディレクトリ] [/defaults] これだと何も起きません。 パスワードを入れたのですが

  • luka3
  • ベストアンサー率72% (424/583)
回答No.1

WinSCPのスクリプトコマンド synchronize を使います。 このページなどがわかりやすい気がしますがいかがでしょう。 https://qiita.com/TakamiChie/items/b5c250df0ceebd216818 synchronize や keepuptodate の使い方を検索するといろいろ出てきます。 コマンドラインオプションもあるので、バッチにしなくても、 winscp.exe [mysession] /synchronize [local_dir] [remote_dir] とすることもできます。 あと、いきなり本番環境でテストはやめましょう。 テスト用のフォルダを用意して、十分検証してから運用してください。

masterkentaros
質問者

補足

だめです。 パスワードを聞かれて入力するとエラーが出ます。

関連するQ&A

専門家に質問してみよう