WinSCP中的双向同步

WinSCP中的双向同步

我正在使用 WinSCP 与远程计算机进行 SSH 会话。我希望 WinSCP 跟踪本地计算机上的一个文件,并将其命名为test.cpp。也就是说,每当此文件在本地计算机上更新时,远程计算机上的更改都会自动进行。

同时,我希望 WinSCP 跟踪远程上的一个文件,并调用它out.txt,以便远程对此文件的更改反映在我自己的机器上。

我怎样才能同时实现这两个目标?我希望第一个文件在一个方向上被跟踪,另一个文件在另一个方向上被跟踪,但两个文件都不应在两个方向上被跟踪。

答案1

只需创建一个循环运行的批处理文件,运行put -neweronly和:test.cppget -neweronlyout

@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

WinSCP GUI可以生成批处理文件模板为你)


如果你想保持连接打开(而不是每次迭代都重新连接),你最好使用PowerShell 脚本中的 WinSCP .NET 程序集

保持本地目录更新(从远程 SFTP/FTP 服务器下载更改的文件)举个例子。

相关内容