Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Mancunian92
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 8
1

Батник для скачивания файла с FTP-сервера

18.04.2012, 08:32. Просмотров 1723. Ответов 5
Метки нет (Все метки)

Добрый день форумчане,

написал батник для скачивания файла с фтп сервера:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo Off
 
C:
cd "C:\IVT\Flash"
ftp -s:get_adv1.cfg 192.168.1.100
cd "C:\IVT\Flash"
 
@echo on
 
Файл: get_adv1.cfg :
 
логин
пароль
get /adv1/adv1.swf
quit
Запускается ежедневно в определенное время с помошью утилиты cron.
Иногда из за не корректной работы сети файл не удается скачать...

Как можно сделать чтобы при случае если файл не скачен полностью, он докачался?
я новичек, буду признателен если поможете дописать комментарии к батнику.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2012, 08:32
Ответы с готовыми решениями:

BAT-файл для скачивания нескольких файлов с FTP-сервера
Help. Помогите с батником пожалуйста. С FTP сервера необходимо скачивать несколько файлов...

Выгрузка файла с FTP-сервера
Просьба помочь и объяснить. Есть ftp на котором лежит файл с нестандартным типом, например...

Зависание загрузки файла с FTP-сервера
Всем привет. Ребята, у меня пробелма когда запускается загрузка файла, она просто зависает и...

Скачивание файла с FTP-сервера с использованием Wget
Доброго времени суток! Задача - необходим батник чтобы он: 1. Скачивал необходимый файл с...

Копирование файла с FTP-сервера на локальный диск
Помогите, пожалуйста, с батником для копирования с fpt на лок диск текстового файла! Добавлено...

5
Mancunian92
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 8
23.04.2012, 13:56  [ТС] 2
Никто не может мне помочь?
0
buggydancer
250 / 238 / 16
Регистрация: 31.12.2009
Сообщений: 324
23.04.2012, 15:03 3
Попробуйте для начала выводить в лог сессию от программы ftp.exe (исправьте соотв. строчку в вашем батнике):
Код
ftp -s:get_adv1.cfg 192.168.1.100 >> C:\IVT\Flash\ftplog.txt
если в логе появится какая-нибудь ошибка или сообщение, то в дальнейшем надо будет парсить этот лог:
Код
find.exe "строка-с-ошибкой" C:\IVT\Flash\ftplog.txt
и далее по errorlevel переходить либо на повтор либо на выход
0
Mancunian92
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 8
23.04.2012, 15:33  [ТС] 4
Цитата Сообщение от buggydancer Посмотреть сообщение
Попробуйте для начала выводить в лог сессию от программы ftp.exe (исправьте соотв. строчку в вашем батнике):
Код
ftp -s:get_adv1.cfg 192.168.1.100 >> C:\IVT\Flash\ftplog.txt
если в логе появится какая-нибудь ошибка или сообщение, то в дальнейшем надо будет парсить этот лог:
Код
find.exe "строка-с-ошибкой" C:\IVT\Flash\ftplog.txt
и далее по errorlevel переходить либо на повтор либо на выход
сейчас я решил эту задачу с помощью winscp

батник на клиенте

cd "C:\Program Files\WinSCP"
WinSCP.com /script=example.txt /log=log.txt

example.txt:
option batch on
option confirm on
open ftp://loginassword@192.168.200.55:21
option transfer binary
synchronize local C:\IVT\Flash /adv1
close
exit

У меня около 100 клиентов которые ежедневно должны обновлять 1 файл (adv1.swf)
Но вот проблемка каждый день хоть на каком нибудь клиенте возникают проблемы с сетью или интернетом. И файл не скачивается либо обрывается при скачке и его размер становится 0кб.

Я хотел бы дописать в батнике комментарий что если размер файла 0, нужно выполнить закачку с фтп еще раз, пока не станет >0.

Помогите воплотить это. Спасибо, любые советы будут мне на пользу.
0
buggydancer
250 / 238 / 16
Регистрация: 31.12.2009
Сообщений: 324
23.04.2012, 19:13 5
Если критерием корректности файла принять его ненулевой размер, тогда как-то так:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo Off
 
C:
cd "C:\IVT\Flash"
 
:LOOP
echo trying to download...
ftp -s:get_adv1.cfg 192.168.1.100
for /f "tokens=3" %%i in ('dir ^| find "adv1.swf"') do set sz=%%i
if "%sz%" == "0" goto LOOP:
 
echo downloaded successfully
1
Mancunian92
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 8
25.04.2012, 09:23  [ТС] 6
Если критерием корректности файла принять его ненулевой размер, тогда как-то так:
Спасибо, задача решена с вашей помощью!
0
25.04.2012, 09:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2012, 09:23

Как сохранить дату создания файла при его копировании с FTP-сервера на мой компьютер?
Здравствуйте! @echo echo Делаем файл команд... echo >>cmdftp.txt echo >>cmdftp.txt echo cd...

Батник для переименования файла
Добрый день, помогите сделать батник. Батник должен переименовывать файл, чтобы имя не...

Батник для отправки файла на email
Помогите написать батник для отправки файла text.txt которы находится на диске С:\text.txt на mail


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru