Забираем файлы с FTP автоматически с помощью ncftp
Появилась необходимость автоматически забирать файлы с FTP сервера нашего поставщика. В основном все советуют стандартную виндовую утилиту ftp.exe, но она к сожалению не поддерживает пассивный режим. Мой выбор пал на NcFTP, а именно на ncftpget. Утилитка бесплатная и кроссплатформенная. Примеров её использования не так много, поэтому оставлю эту запись в основном для себя.
Утилитка устанавливается в C:\Program Files (x86)\, но на самом деле складывает свои экзешники в C:\Windows\, потому что этот каталог находится в системной переменной PATH и таким образом, можно вызвать утилиту без ввода полного пути к экзешнику. Местоположение можно изменять, оно не зависит от установки.
Для закачки файлов НА ftp надо использовать ncftpPUT.exe, для скачивания ncftpGET.exe
Итак, мой пример:
ncftpget -u логин -p пароль -P 21 -DD ftp.dlink.ru C:\in /pub/3G/*.*
-u имя пользователя
-p пароль
-P порт
-DD удаляет файлы на FTP после их удачной загрузки
ftp.dlink.ru адрес FTP сервера
C:\in локальный каталог, куда скачивать файлы
/pub/3G/*.* каталог на FTP сервере, откуда будем скачивать файлы
Есть ещё ключ -f который, указывает на файл с именем хоста, логином и паролем
ncftpget -f файл C:\in /pub/3G/*.*
Содержание файла:
host ftp.dlink.ru
user логин
pass пароль
Более подробного содержания файла увы не нашёл.
Короткий мануал по использованию проги есть в директории с установкой, а подробный мануал на сайте разработчика
http://www.ncftp.com/