cURL и BAT/CMD: закачка файлов с FTP/HTTP и проверка целостности скаченного файла

killoff

CD тихо, и не DVD меня ;)
Команда форума
Модератор
Регистрация
13 Май 2008
Сообщения
2.619
Реакции
1.127
  • Автор темы
  • Модер.
  • #1
Пробовал найти ответ на форуме и в гугле, но к сожалению увы :( везде указано что нужно только сверить размеры файлов и больше ничего... Поэтому решил спросить отдельной темой.

Создал CMD файл, в нем есть несколько файлов которые скачиваются с удаленных FTP/HTTP, затем ещё копируются на другой диск. Иногда бывают проблемы с интернетом и файл не докачиватся до конца, может остановиться на 99%, но по командам в файле он все равно копирует не докачанный файл на второй диск.

Вот собственно и суть проблемы: как можно записать условия для проверки размера скаченного файла и файла на удаленном сервере, и в случае полной идентичности обоих - сделать копию на другой диск? В случае отличия размеров файла - попытаться докачать файл целиком чтобы не было не докаченных данных...

Пример того как сейчас идет скачивание и копирование скаченного файла
Код:
"curl.exe" "ftp://site/file.exe" -o"C:\backup\file.exe"
xcopy "C:\backup\file.exe" "\backup_copy\file.exe" /d /e /i /f /h /r /y
 
а если попробовать использовать вместо курла wget с докачкой ??
Код:
wget -c ftp://site/file.exe C:\backup\file.exe

Код:
wget --spider
если сервер в заголовках отдаёт размер то можно получив его потом использовать в cmd условный оператор if
пример
Для просмотра ссылки Войди или Зарегистрируйся
 
  • Автор темы
  • Модер.
  • #3
А нельзя ли привести готовый пример? Почитал на киберфоруму темы - ничего толкового не нашел, или может быть просто не допонял что-то :dead:
Кстати, wget будет работать без файла wget.exe, или нужно скачивать его и держать где-то рядом с батником, как это получается curl'ом?
:thenks:
 
всё также как с курлом
под win надо скачивать отдельно

линк на киберфорум дан тк там приведен пример использования условия if
в остальном надо совмещать wget и cmd

также можно чисто виндовыми функциями воспользоваться
используя куда более функциональный скриптовый язык vbs
Для просмотра ссылки Войди или Зарегистрируйся

я не гуру, готового решения не дам, тк сам всегда пишу подобное через "гуглоучебник"
 
Назад
Сверху