Где ошибка в скрипте ftp-bat? - PullRequest
0 голосов
/ 19 августа 2011

I-сценарий автоматический ftp-скрипт.

И выдает ошибку:

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

Ответы [ 3 ]

1 голос
/ 19 августа 2011

У меня есть несколько непосредственных проблем, которые я вижу.

Первое - это использование неправильной косой черты в вашей команде 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 голосов
/ 11 сентября 2014

При создании файла сценария FTP следите за пробелами в имени пользователя и пароле, например:

Имя пользователя ECHO USER> script.ftp

Должно быть: ECHO USER username> script.ftp

0 голосов
/ 16 сентября 2011

Попробуйте следующее

ftp -n wopr.dod.gov
пользователь sfalken
Pass Joshua
пока

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...