使用显式 TLS 加密设置 WinSCP

Setting WinSCP with explicit TLS encryption

我正在尝试使用以下设置连接到 FTP 服务器

此设置运行良好,我可以通过 GUI(版本 5.7.5)连接到 FTP 服务器

但是,当我尝试将这些设置转换为脚本时

winscp.com /command "option batch abort" "option confirm off" "open ftp://username:password@ftp.example.com:21 -   
explicittls /" "put -filemask=>1D  D:\Backups\*.bak /" "exit"

和运行它来自cmd,有一条错误信息表明有

Too many parameters for command 'open'."

我这里做错了什么,如何解决?

winscp.com /command "open ftp://username:password@ftp.example.com/ -explicit" ...

或者干脆

winscp.com /command "open ftpes://username:password@ftp.example.com/" 

参见:

你得到 "Too many parameters for command 'open'" 因为 explicittls 之后的 /。或者因为 explicittls 本身,如果 -explicittls.

之间确实有空格

您可以使用 Generate Transfer Code Dialog 让 WinSCP 为您生成脚本或批处理文件。


旁注:

  • option batch abortoption confirm offnot necessary since 5.7 anymore(它们与 /command 隐含);
  • 您不需要指定端口 21,这是 FTP 的默认端口;

尝试以下行:

winscp.com /command "option batch abort" "option confirm off" "open ftp://username:password@ftp.example.com:21 -   
explicittls" "put -filemask=>1D  D:\Backups\*.bak /" "exit"