私はWinSCPでかなり新しいです。このアプリケーションで、ローカルディレクトリ内の最新の変更されたファイルのみをリモートディレクトリに送信できるかどうかを知りたいのですが。両方のフォルダの内容が常に一致しないことに注意してください。したがって、同期はオプションではありません。
接続を確立し、ファイルをサーバーに「配置」することができました。しかし、自分がやりたいことをどうやって達成できるのかわからない。
これが私のコマンドです...
winscp.exe /console /command "option batch on" "open ftp://user:pass@remoteip:port -explicitssl -passive" "put c:\files\Completed /Test" "exit" /log=c:\winscp_log.txt
どんな助けでも大歓迎です...
WinScpを単独で使用してそれを行うことはできません。スクリプトはそれほど複雑ではありません。最新のファイルを取得するには、別のスクリプト言語を使用する必要があります。
たとえば、次のバッチファイル:
@echo off
for /f "delims=" %%i in ('dir /b /od c:\files\Completed\*') do set LastFile=%%i
winscp.exe /console /command "option batch on" "open ftp://user:pass@remoteip:port -explicitssl -passive" "put c:\files\Completed\%LastFile% /Test" "exit" /log=c:\winscp_log.txt
WinSCPは、他の答えとは逆に、実際にそれを行うことができます。
put
コマンド には -latest
スイッチ :
put -latest c:\files\Completed\* /Test/
詳細については、WinSCPの記事 最新のファイルのアップロード を参照してください。