在Windows中使用WinSCP或其他命令行FTP客户端的隐式TLS FTP连接

我需要从命令行连接到以隐式TLS,用户名和密码保护的FTP,以便稍后可以创build批处理。 我使用的是WinSCP,因为它是最stream行的(我认为),或者我可以使用它来实现这一点广泛的谷歌search。 我不是一个专家,但阅读文档我有这个目前为止从命令提示符不成功的连接:

winscp> open username:password@host:port -implicit -certificate="aa:aa:aa:aa..." 

一旦连接,我需要将所有提取到一个文件夹\主机名\文件夹或C:\文件夹然后删除FTP上的文件(或多或less像剪切)

感谢马丁Prikryl更正,我能够连接,这是我所做的:

使用winscp.com命令“connection.txt”创建一个文本文件:

 # Automatically abort script on errors option batch abort # Disable overwrite confirmations that conflict with the previous option confirm off # Connect with username and password open ftp://username:password@host:port -implicit -certificate="aa:aa:aa:aa...." # Change local directory lcd C:\local_working_folder # Force binary mode transfer option transfer binary # Download missing files to local directory from remote synchronize local # Delete all remote files rm * # Disconnect close # Exit WinSCP exit 

现在从命令提示符或批处理文件中,您可以从安装位置调用winscp.exe。 如果来自安装媒体,则应从C:\ Program Files \ WinSCP \ WinSCP.exe中提取,如果从.zip便携式版本提取到您提取文件的文件夹:

 C:\WinSCP\WinSCP.exe /console /script="connection.txt" /log="conn.log" 

然后只需安排批次就可以自动执行此过程。

你的语法几乎是正确的。 您只缺少协议前缀ftp:// (注意,WinSCP默认为SFTP协议)。

 open ftp://username:password@host:port -implicit -certificate="aa:aa:aa:aa..." 

详情请参阅:
https://winscp.net/eng/docs/session_url
https://winscp.net/eng/docs/scriptcommand_open

如果这没有帮助,您需要与我们分享一个脚本日志文件或至少一个错误消息。