我正在使用 WinSCP 与远程计算机进行 SSH 会话。我希望 WinSCP 跟踪本地计算机上的一个文件,并将其命名为test.cpp
。也就是说,每当此文件在本地计算机上更新时,远程计算机上的更改都会自动进行。
同时,我希望 WinSCP 跟踪远程上的一个文件,并调用它out.txt
,以便远程对此文件的更改反映在我自己的机器上。
我怎样才能同时实现这两个目标?我希望第一个文件在一个方向上被跟踪,另一个文件在另一个方向上被跟踪,但两个文件都不应在两个方向上被跟踪。
答案1
只需创建一个循环运行的批处理文件,运行put -neweronly
和:test.cpp
get -neweronly
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
如果你想保持连接打开(而不是每次迭代都重新连接),你最好使用PowerShell 脚本中的 WinSCP .NET 程序集。