Привет я пытаюсь написать пакетный файл MS-DOS, который записывает в сервер FTP, и загружает файлпартии FTP вися получить
FTP-размещенного в IIS, но это не непосредственно под моим контролем (третий вечеринка).
мой сценарий выглядит следующим образом (имя файла ftpcmd.dat)
user bob
mypassword
get /foldrname/export.txt c:\export.txt
quit
и затем запускается на выполнение, как этот
ftp -n -s:ftpcmd.dat ftp.myserver.co.za
Проблема заключается в том, что он всегда застревает в командной прибудете, FTP отвечает так:
501 Server cannot accept argument.
150 Opening ASCII mode data connection.
Я попытался сделать это вручную в командной строке, точно такой же результат.
я могу это сделать с помощью такого инструмента, как FileZilla, одна вещь, которую я заметил, что он переходит в пассивном режиме, поэтому для эмуляции этого я попробовал, добавив это после входа в
quote pasv
Это переключается в пассивный режим, но та же проблема сохраняется.
примечание. Я не могу заставить поставщика услуг внести какие-либо изменения в конфигурацию. Также обратите внимание - он отлично работает с использованием клиента filezilla
Спасибо!
вы пытались получить файл с некоторыми другими инструментами? например, wget: 'wget ftp: // user: password @ ftp.myserver.co.za/foldrname/export.txt' альтернативно вы можете получить wirehark и понюхать точные команды, которые отправляет filezilla. то просто поместите их в ftpcmd.Дат также примечание: последний раз, когда я использовал сценарий передачи файлов он пошел STH так: 'открытый ftp.server.com пользователя пароля ... разъединения bye' – rostok
выход wiresharks немного за меня. я могу посмотреть на wget, но тогда моя следующая функция будет состоять в том, чтобы удалить файл, а затем поставить, который, как я думаю, выходит из сферы действия wget? – Crudler
Как сменить папку перед командой 'get'? например: 'cd foldername', а затем' get export.txt' – rostok