我需要从命令行连接到一个用隐式tls、用户名和密码保护的ftp,以便以后可以创建批处理。我正在使用winscp,因为它是最流行的(我认为)或是根据大量的谷歌搜索,我可以使用它来实现这一点。我不是专家,但我阅读了迄今为止在命令提示符下连接失败的文档:

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

连接后,我需要将其中的所有内容提取到文件夹\hostname\folder或c:\ folder,然后删除ftp上的文件(或多或少类似于剪切)

最佳答案

多亏了马丁·普里克里尔的纠正,我才得以联系上,以下是我所做的:
使用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"

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

关于windows - Windows中使用WinSCP或其他命令行FTP客户端的隐式TLS FTP连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23376244/

10-10 12:44