Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Простенький батник для выкачивания инфы с ФТП и её чистка

Ответить
Настройки темы
CMD/BAT - [решено] Простенький батник для выкачивания инфы с ФТП и её чистка

Старожил


Сообщения: 326
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Необходимо реализовать следующее:
1. Подключение к FTP в 23:00 в будни.
2. Выкачивание всех файлов в конкретную папку по конкретному пути.
2.1. При ошибке подключения повторить выкачивание.
3. Удаление всех файлов с FTP.
4. Отключение от FTP.

Реально ли реализовать такое с помощью BAT и Планировщика?

Отправлено: 22:30, 08-10-2018

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


nikhop, ну, комплектным ftp.exe сие:
Цитата nikhop:
2.1. При ошибке подключения повторить выкачивание. »
будет несколько затруднительно реализовать, я полагаю.

А так, можно попробовать что-то наподобие:
Скрытый текст
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sCommandsFile=%temp%\commands.txt

del /f /q "%sCommandsFile%"

>"%sCommandsFile%" (
	echo open ftp.imagemagick.org
	echo anonymous
	echo some@mail.com
	echo cd /pub/ImageMagick/contrib
	echo lcd c:\MyProjects
	echo prompt
	echo binary
	echo mget *.*
	echo close
	echo bye
)

if exist "%sCommandsFile%" (
	ftp.exe -s:"%sCommandsFile%"
	del /f /q "%sCommandsFile%"
)

endlocal
exit /b 0

Для удаления можете использовать команду ftp DELE: аналогичным образом формируете новый файл %temp%\commands.txt, составляя список из команд dele и полученных в локальный каталог файлов. Но я бы таки подумал про более удобные средства, нежели ftp.exe.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:28, 08-10-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 326
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Цитата Iska:
Но я бы таки подумал про более удобные средства, нежели ftp.exe. »
Подскажите куда копать ) Проги есть такие..?

Отправлено: 00:42, 09-10-2018 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


nikhop, попробуйте PowerShell+.Net или WinSCP :: Official Site :: Free SFTP and FTP client for Windows — консоль, командная строка, скрипты и .Net код. Смотрите, например, что есть: Session.GetFiles Method :: WinSCP.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:09, 09-10-2018 | #4


Старожил


Сообщения: 326
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Iska, спасибо! Вот ещё неплохие примеры нашёл, если продолжать смотреть в сторону в CMD/BAT.

Отправлено: 12:53, 09-10-2018 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


nikhop, это ровно то же, что я привёл во втором сообщении. Главная проблема у ftp.exe в том, что нет возможности непосредственно выполнить Ваши пп. 2.1 и 3.

Отправлено: 17:03, 09-10-2018 | #6


Старожил


Сообщения: 326
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Победа. Взял отсюда

Скачать и удалить файлы 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/
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:03, 13-10-2018 | #7


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


nikhop, сейчас с Windows идёт curl - он умеет ftp, в том числе пассивный и удаление файлов тоже.

Отправлено: 23:10, 13-10-2018 | #8


Старожил


Сообщения: 326
Благодарности: 4

Профиль | Сайт | Отправить PM | Цитировать


Цитата Busla:
сейчас с Windows идёт curl »
В 7 нет же его..?

Отправлено: 00:03, 14-10-2018 | #9


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


nikhop, в win7 curl нет
но на офсайте есть виндовая сборка

Отправлено: 10:34, 14-10-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Простенький батник для выкачивания инфы с ФТП и её чистка

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Батник для получения инфы о версии офиса SergKrylo1 Скриптовые языки администрирования Windows 5 05-09-2017 11:48
есть ли программа для забирания инфы с дисков r-studio Оптические приводы 7 25-09-2012 21:25
Интернет - Посоветуйте программу для выкачивания сайтов ivanhoe75 Программное обеспечение Windows 3 22-10-2011 21:42
CMD/BAT - Батник с условием копирвоания новых файлов по фтп. Narkolog Скриптовые языки администрирования Windows 5 29-12-2010 09:48
CMD/BAT - батник подключения к фтп anatoly_neo Скриптовые языки администрирования Windows 0 20-02-2009 13:39




 
Переход