File upload 从Windows批处理文件FTP上载

File upload 从Windows批处理文件FTP上载,file-upload,batch-file,ftp,windows-server-2008,File Upload,Batch File,Ftp,Windows Server 2008,按照网络上的各种指南,我整理了一个批处理文件,该文件应该上传一个.zip到我们的中央文件服务器。但是,如果我使用“ftp-n-s:ftpup.dat 108.174.61.82 20”,则添加到主机的端口20不起作用。我还尝试了下一行的“ftp-n-s:ftpup.dat”,然后“open108.174.61.82 20”,但也失败了。我到底做错了什么 cd MySQL @echo off echo user backups>ftpup.dat echo passwordhere>&

按照网络上的各种指南,我整理了一个批处理文件,该文件应该上传一个.zip到我们的中央文件服务器。但是,如果我使用“ftp-n-s:ftpup.dat 108.174.61.82 20”,则添加到主机的端口20不起作用。我还尝试了下一行的“ftp-n-s:ftpup.dat”,然后“open108.174.61.82 20”,但也失败了。我到底做错了什么

cd MySQL
@echo off
echo user backups>ftpup.dat
echo passwordhere>>ftpup.dat
echo cd /MySQL>>ftpup.dat
echo binary>>ftpup.dat
echo put MYSQL-%location%.%backuptime%.zip>>ftpup.dat
echo quit>>ftpup.dat
ftp -n -s:ftpup.dat serveriphere 20
del ftpup.dat

您正在运行FTP服务器还是端口20

Telnet服务器iphere 20要检查端口是否正在侦听,您可能需要 它在默认端口21上运行

PS:是原始ftp协议吗?。可能是使用SFTP或FTPS

编辑:尝试

ftp-s:ftpup.dat服务器iphere 20

删除-n autologin标志

试试这个:

Echo ~UsrName~> ftpcmd.txt
echo ~myPass~>> ftpcmd.txt
echo binary>> ftpcmd.txt
echo prompt n>>ftpcmd.txt
echo mget *.exe>> ftpcmd.txt
echo bye >> ftpcmd.txt
ftp -s:ftpcmd.txt ~ftpAddress~
del ftpcmd.txt

我知道这是一个老问题,但我在端口上也遇到了同样的问题,这对我来说很有效,我将命令
open%ftphost%>ftpcmd.dat
保存在文件中,而不是稍后调用它

SET ftphost=172.xxx.xxx.xx 22    
ECHO open %ftphost% > ftpcmd.dat
ECHO user %username%>> ftpcmd.dat
ECHO %userpass%>> ftpcmd.dat
ECHO bin>> ftpcmd.dat
ECHO put %file%>> ftpcmd.dat
ECHO quit>> ftpcmd.dat

ftp -n -s:ftpcmd.dat
del ftpcmd.dat

它肯定在端口20上,这就是我必须指定它的原因。它是原始ftp。当我通过命令控制台手动键入所有内容时,效果很好。这是当我将它添加到ftpup.dat并尝试传递该文件以及指定一个端口时失败的。尝试使用ftp-s:ftpup.dat服务器iphere 20删除-n autologin标志我尝试了一次,没有使用-n,但同样的事情发生了,我刚刚收到ftp命令的帮助信息