Basta criar um arquivo de lote que seja executado em loop, executando put -neweronly
para test.cpp
e get -neweronly
para out
:
@echo off
:loop
winscp.com /ini=nul /command ^
"open sftp://username:[email protected]/ -hostkey=""ssh-rsa 2048 ...""" ^
"put -neweronly C:\local\path\test.cpp /remote/path/*" ^
"get -neweronly /remote/path/out C:\local\path\*" ^
"exit"
timeout /t 30
goto loop
( A GUI do WinSCP pode gerar um modelo de arquivo em lote para você)
Se você deseja manter a conexão aberta (não reconectar para cada iteração), é melhor usar o assembly WinSCP .NET de um PowerShell script .
Consulte Mantenha o diretório local atualizado (baixe os arquivos alterados do servidor SFTP / FTP remoto) para ver um exemplo.