2011-08-19 62 views
0

我脚本自动ftp脚本。ftp-bat脚本中的错误在哪里?

,并抛出错误:

The syntax of the command is incorrect. 

User (domain.lt:(none)): 

Error reading password. 

Login incorrect. 
Login failed. 

代码:

@ECHO OFF 
mkdir C:/dtmp 
ECHO USER username > script.ftp 
ECHO PASSWORD password > script.ftp 
ECHO cd Directories-files > script.ftp 
ECHO lcd C:/dtmp > script.ftp 
ECHO binary > script.ftp 
ECHO prompt n > script.ftp 
ECHO get main.py > script.ftp 
:: Use the temporary script for unattended FTP 
:: Note: depending on your OS version you may have to add a '-n' switch 
FTP -v -s:script.ftp domain.lt 
:: For the paranoid: overwrite the temporary file before deleting it 
TYPE NUL >script.ftp 
DEL script.ftp 
GOTO End 
:End 

回答

1

你有几个直接的问题,我可以看到。

首先是在您的mkdir命令中使用了错误的斜杠(这是造成您的特定错误的那个)。它应该是:

mkdir c:\dtmp 

的第二个问题是,你应该追加大多数这些命令到FTP脚本:

ECHO USER username   > script.ftp 
ECHO PASSWORD password >> script.ftp 
ECHO cd Directories-files >> script.ftp 
ECHO lcd C:/dtmp   >> script.ftp 
ECHO binary    >> script.ftp 
ECHO prompt n    >> script.ftp 
ECHO get main.py   >> script.ftp 

你有它的方式,每呼应替换文件,因此脚本最终将由单行get main.py组成,因为您尚未登录,因此无法工作。

第三,由于您在内登录的脚本,你应该禁用自动登录,以及通过使用-n选项FTP(虽然我查看通过提到在评论细看后):

ftp -n -v -s:script.ftp domain.lt 

再就是看就是有些FTP客户端没有PASSWORD命令,它们将它提供给USER线。因此,尝试改变:

ECHO USER username   > script.ftp 
ECHO PASSWORD password >> script.ftp 

到:

ECHO USER username password > script.ftp 

(并确保你的用户名和密码是正确的,当然)。

失败的是,只需启动FTP会话没有-s,看看什么东西通过输入每个FTP的脚麻命令逐个:

C:\Pax> ftp -n wopr.dod.gov 
Connected to wopr.dod.gov. 
220-FTPD DOD FTP at WOPR.DOD.GOV, 07:28:59 on 2011-08-19. 
220 SHALL WE PLAY A GAME? 
ftp> user sfalken joshua 
331 Send password please. 
530 PASS command failed 
Login failed. 
ftp> bye 
221 Quit command received. Goodbye. 
+0

现在抛出 - “请USER和PASS登录” – Zygimantas

0

请尝试以下

FTP -n WOPR .dod.gov
user sfalken
pass joshua
bye

0

当创建FTP脚本文件时,注意用户/密码的尾部空格,例如

ECHO用户名> script.ftp

应该是: ECHO user用户名> script.ftp