使用WinSCP从SFTP服务器下载文本文件时跳过重复行

时间:2018-01-19 14:32:52

标签: batch-file sftp winscp

是否有WinSCP批处理文件的命令只将远程文件中的非重复值附加到本地文件?

这是我的批处理命令:

@echo off

"C:\Program Files (x86)\WinSCP\WinSCP.com" ^
  /log="C:\Users\U37615\Documents\POCLOSEBATCHLOG\WinSCP.log" /ini=nul ^
  /command ^
    "open xxxxxx -hostkey=""ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx....""" ^
    "get -append -delete xxxxxx"" ""xxxxxxx""" ^
    "exit"

set WINSCP_RESULT=%ERRORLEVEL%
if %WINSCP_RESULT% equ 0 (
  echo Success
) else (
  echo Error
)

pause
exit /b %WINSCP_RESULT%

我在远程服务器上有一个文本文件要附加到本地文件,但我只想附加本地列表中尚未存在的项目。关于命令的任何想法或解决这个问题?

1 个答案:

答案 0 :(得分:0)

绝对不是。这是一个自定义要求,您无法合理地期望任何SFTP客户端都能支持它。

将远程文件(无-append)下载到临时本地文件(temp.txt)。

然后执行以下操作:

powershell -Command "type local.txt, temp.txt | sort -unique > combined.txt"

一些参考文献: