ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Windows (https://forum.antichat.xyz/forumdisplay.php?f=125)
-   -   cURL и BAT/CMD: закачка файлов с FTP/HTTP и проверка целостности скаченного файла (https://forum.antichat.xyz/showthread.php?t=1883781)

killoff 24.06.2012 11:05

Пробовал найти ответ на форуме и в гугле, но к сожалению увы везде указано что нужно только сверить размеры файлов и больше ничего... Поэтому решил спросить отдельной темой.

Создал 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


o_nix 24.06.2012 11:23

а если попробовать использовать вместо курла wget с докачкой ??

Код:


Код:

wget -c ftp://site/file.exe C:\backup\file.exe
Код:


Код:

wget --spider
если сервер в заголовках отдаёт размер то можно получив его потом использовать в cmd условный оператор if
пример
http://www.cyberforum.ru/cmd-bat/thread171627.html

killoff 24.06.2012 13:04

А нельзя ли привести готовый пример? Почитал на киберфоруму темы - ничего толкового не нашел, или может быть просто не допонял что-то
Кстати, wget будет работать без файла wget.exe, или нужно скачивать его и держать где-то рядом с батником, как это получается curl'ом?

o_nix 24.06.2012 18:24

всё также как с курлом
под win надо скачивать отдельно

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

также можно чисто виндовыми функциями воспользоваться
используя куда более функциональный скриптовый язык vbs
http://bbs.vbstreets.ru/viewtopic.php?f=8&t=23648

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


Время: 12:55