我正在尝试创建一个简单的 ftp 批处理文件,以便定期上传少量文件,但似乎无法正确登录。我可以使用相同的凭据并通过 Filezilla 登录,没有任何问题,但从命令行登录却不行。
这是我正在尝试的:
ECHO Creating Script File for FTP Download for District %2....
ECHO open xxx.xxx.xxx.xxx >ftp.scr
ECHO myuser >>ftp.scr
ECHO mypassword >>ftp.scr
ECHO bin >>ftp.scr
ECHO send %1 >>ftp.scr
ECHO quit >>ftp.scr
ftp -s:ftp.scr
我相信,简单而且切中要点。
以下是它的响应:
D:\Suburban>ftp -s:ftp.scr
ftp> open xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 5 of 50 allowed.
220-Local time is now 10:16. Server port: 21.
220 You will be disconnected after 15 minutes of inactivity.
User (xxx.xxx.xxx.xxx:(none)):
331 User myuser OK. Password required
530 Login authentication failed
Login failed.
ftp> bin
200 TYPE is now 8-bit binary
ftp> send webtrn25.001
530 You aren't logged in
530 You aren't logged in
ftp> quit
221-Goodbye. You uploaded 0 and downloaded 0 kbytes.
221 Logout.
我认为这应该是直截了当的,但似乎没有什么是...这一定是我忽略的简单的事情。
任何投入将不胜感激!
** 编辑 **
我还要补充一点,如果我直接从命令行运行这些命令,我就可以通过 ftp 登录:
D:\Suburban>ftp
ftp> open xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 5 of 50 allowed.
220-Local time is now 10:19. Server port: 21.
220 You will be disconnected after 15 minutes of inactivity.
User (xxx.xxx.xxx.xxx:(none)): myuser
331 User myuser OK. Password required
Password:
230 OK. Current restricted directory is /
ftp>
答案1
我考虑过删除它,版主可能仍会这么做,但我解决了我的问题。想着它以后可能会对别人有所帮助……
ECHO myuser >>ftp.scr
ECHO mypassword >>ftp.scr
问题在于名称/密码和 >> 之间的空格。
一旦我将其改为:
ECHO myuser>>ftp.scr
ECHO mypassword>>ftp.scr
效果很好!