![]() |
Простенький батник для выкачивания инфы с ФТП и её чистка
Необходимо реализовать следующее:
1. Подключение к FTP в 23:00 в будни. 2. Выкачивание всех файлов в конкретную папку по конкретному пути. 2.1. При ошибке подключения повторить выкачивание. 3. Удаление всех файлов с FTP. 4. Отключение от FTP. Реально ли реализовать такое с помощью BAT и Планировщика? |
nikhop, ну, комплектным ftp.exe сие:
Цитата:
А так, можно попробовать что-то наподобие: Скрытый текст
Код:
@echo off Для удаления можете использовать команду ftp DELE: аналогичным образом формируете новый файл %temp%\commands.txt, составляя список из команд dele и полученных в локальный каталог файлов. Но я бы таки подумал про более удобные средства, нежели ftp.exe. |
Цитата:
|
nikhop, попробуйте PowerShell+.Net или WinSCP :: Official Site :: Free SFTP and FTP client for Windows — консоль, командная строка, скрипты и .Net код. Смотрите, например, что есть: Session.GetFiles Method :: WinSCP.
|
Iska, спасибо! Вот ещё неплохие примеры нашёл, если продолжать смотреть в сторону в CMD/BAT.
|
nikhop, это ровно то же, что я привёл во втором сообщении. Главная проблема у ftp.exe в том, что нет возможности непосредственно выполнить Ваши пп. 2.1 и 3.
|
Победа. Взял отсюда
Скачать и удалить файлы c FTP
Забираем файлы с 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/ |
nikhop, сейчас с Windows идёт curl - он умеет ftp, в том числе пассивный и удаление файлов тоже.
|
Цитата:
|
nikhop, в win7 curl нет
но на офсайте есть виндовая сборка |
Время: 06:16. |
Время: 06:16.
© OSzone.net 2001-