我正尝试使用batch file将文本file upload到FTP服务器。 它成功login并显示
端口命令发送成功
但之后显示
无法打开数据连接到端口xxxx
连接超时
Windowsbatch file文件从URL下载
使用批处理在E:驱动器中启动可执行文件
这是批处理脚本:
@echo off for %%A in (*.csv) do set latest=%%A echo Latest file is %latest% echo MYUSERNAME> upload.txt echo MYPASSWORD>> upload.txt echo asc>>upload.txt echo put %latest% s.txt>> upload.txt echo quit >> upload.txt ftp -s:upload.txt server58.hostinger.in
使用DOS / Batch分割具有随机长度的string
用于一批内的命令
包含variables的Windows批处理variables
如何在Windows 2008窗口中通过C#安装IIS
在Windows上findApache服务器的path
这看起来像是FTP活动模式的典型问题。 服务器无法连接到您的机器以建立数据传输连接。
通常情况下,大多数客户端机器都在防火墙或NAT或两者之后,防止FTP主动模式工作。 要使主动模式正常工作,您需要打开防火墙(不推荐)和/或配置NAT路由规则。
看到我的文章在FTP模式和配置网络的主动模式 。
或者你使用被动的FTP模式。 Windows ftp.exe客户端虽然不支持被动模式,但现在却变得毫无用处。
所以你需要使用另一个命令行的FTP客户端。 大多数FTP客户端都支持被动模式。
以WinSCP为例,你的批处理文件就像:
@echo off for %%A in (*.csv) do set latest=%%A echo Latest file is %latest% winscp.com /command ^ "open ftp://MYUSERNAME:[email protected]/" ^ "put -transfer=ascii %latest% s.txt" ^ "exit"
请注意,WinSCP默认为被动模式。
有关详细信息,请参阅以下WinSCP指南:
将Windows FTP脚本转换为WinSCP脚本
(我是WinSCP的作者)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。