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

时间:2014-04-29 22:12:35

标签: windows ssl ftp command-line-interface winscp

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

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

连接后,我需要将所有内容解压缩到文件夹\ hostname \文件夹或c:\文件夹,然后删除ftp上的文件(或多或少像剪切)

2 个答案:

答案 0 :(得分:1)

您的语法几乎是正确的。您只缺少协议前缀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

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

答案 1 :(得分:1)

感谢Martin 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"

然后只安排批处理以自动化该过程。