Я пытаюсь написать пакетный файл, который будет загружать и обновлять определенный набор файлов на рабочем столе для учетной записи FTP, поэтому я написал этот пакет:

@ftp -i -s:"%~f0"&GOTO:EOF
open DomainName.com
USERNAME
PASSWORD
binary
cd  httpdocs/myfiles
lcd F:\Test\Folder1
mput *.bmp
close
quit

протестировав вышеупомянутую партию, все работает хорошо, пока не достигнет строки:

mput *.bmp

Как только эта линия достигнута, соединение останавливается, и единственный способ возобновить его - перезапустить маршрутизатор.

Так может кто-нибудь, пожалуйста, помогите мне, сказав мне, что именно я делаю здесь неправильно?

Обновление:1. FTP-сервер, который я пытаюсь загрузить, основан на Linux (CentOS) 2. Я использую машину Windows XP - SP1 для выполнения этого командного файла 3. Я пытался нажать CTRL+C, чтобы завершить пакет, но все же, даже если пакет завершен, соединение остается заблокированным, пока я не перезапущу маршрутизатор

Обновление 2: Вот точный вывод команд, которые я ввожу:

ftp
open domainname.com
220 ProFTPD 1.3.4a Server <ProFTPD> [IP ADDRESS of our server]
User <domainname.com:<none>>: USERNAME
331 Password required for USERNAME
Password: PASSWORD
230 User USERNAME logged in
ftp> binary
200 Type set to I
ftp> cd httpdocs/myfiles
250 CWD command successful
ftp> lcd F:\Test\Folder1
Local directory now F:\Test\Folder1
ftp> mkdir MyTest1
257 "/httpdocs/myfiles/MyTest1" - Directory successfully created
ftp> put test.bmp

Заморозить соединение и роутер

2 ответа2

0

После

lcd F:\Test\Folder1

пытаться

lcd F:\Test\Folder1
mkdir MyTest

Убедитесь, что MyTest был создан правильно. Я подозреваю, что ваш маршрутизатор не может найти каталог, но не выдает ошибку. Когда начинается передача - это когда ее ловят.

Я не вижу ничего плохого в

mput *.bmp
0

ОК, проблема не только в команде MPUT .  Если вы не сможете заставить работать некоторые FTP, я собираюсь выйти из строя и предположить, что ваша проблема такая же, как в предыдущих вопросах по этому вопросу - что-то в сетевом пути между двумя компьютерами (включая роутер и сами хосты) блокирует TCP порт 20.  (FTP использует два номера порта: 21 для управляющей информации и 20 для данных.  Ясно, что порт 21 проходит.)  Если до недавнего времени FTP работал, посмотрите, что-то изменилось: сисадмин ужесточил некоторые правила брандмауэра?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .