CMD FTP 问题在 Server 2012 上有效,在 Win 7 上无效

CMD FTP 问题在 Server 2012 上有效,在 Win 7 上无效

我将以下命令脚本作为计划任务在我的 Win 2012 Server 上运行,没有任何问题。我想在客户端 Win 7 x64 计算机上复制此脚本。

echo user [username]>> c:\ftp1.dat
echo [my password]>> c:\ftp1.dat
echo bin>> c:\ftp1.dat
echo mkdir web2>> c:\ftp1.dat
echo cd web2>> c:\ftp1.dat
echo mkdir clientpc_%date:~-2,4%-%date:~-7,2%-%date:~-10,2%>> c:\ftp1.dat
echo cd clientpc_%date:~-2,4%-%date:~-7,2%-%date:~-10,2%>> c:\ftp1.dat
echo ascii>> c:\ftp1.dat
echo quote pasv>> c:\ftp1.dat
echo mput c:\Users\Administrator\Documents\backup_temp\*.*>> c:\ftp1.dat
echo quit>> c:\ftp1.dat
echo bye>> c:\ftp1.dat
ftp -n -s:c:\ftp1.dat -i ftp.livedrive.com
del c:\ftp1.dat

但是,当我输入 mput 时,命令提示符会通知我

  1. 200 端口命令成功
  2. 150 接受数据连接

此时,进程就挂起了。没有错误,没有超时,什么都没有。我的意思是 5-10 分钟内什么都没有。

安装程序正在运行 Norton 360,其防火墙已关闭。

我也尝试过主动模式。

请注意,早期的 MKDIR 命令有效,因此可能不存在服务器联系问题。我似乎无法在网上找到任何帮助。遇到我的问题的每个人似乎都遇到了超时问题,但这里的情况并非如此。

谢谢

答案1

这是连接问题。FTP 需要控制连接来执行基本命令(如 login 和 mkdir),而对于实际数据传输,它会打开另一个 TCP 连接:在被动模式下,服务器会在随机端口上打开侦听器并将其地址告知客户端;在主动模式下,客户端会在随机端口上打开侦听器并将其地址告知服务器。

控制连接可用,但数据连接不可用。这意味着有某种因素限制了连接,例如您的计算机、服务器计算机或两者之间的某个位置存在某种防火墙。

相关内容