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

Тема в разделе "Windows", создана пользователем killoff, 24 июн 2012.

Модераторы: ADMiNZ
  1. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.019
    Симпатии:
    679
    Пробовал найти ответ на форуме и в гугле, но к сожалению увы :( везде указано что нужно только сверить размеры файлов и больше ничего... Поэтому решил спросить отдельной темой.

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

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    а если попробовать использовать вместо курла wget с докачкой ??
    Код:
    wget -c ftp://site/file.exe C:\backup\file.exe
    Код:
    wget --spider
    если сервер в заголовках отдаёт размер то можно получив его потом использовать в cmd условный оператор if
    пример
    http://www.cyberforum.ru/cmd-bat/thread171627.html
     
  3. killoff

    killoff CD тихо, и не DVD меня ;)

    Moderator
    Регистр.:
    13 май 2008
    Сообщения:
    2.019
    Симпатии:
    679
    А нельзя ли привести готовый пример? Почитал на киберфоруму темы - ничего толкового не нашел, или может быть просто не допонял что-то :dead:
    Кстати, wget будет работать без файла wget.exe, или нужно скачивать его и держать где-то рядом с батником, как это получается curl'ом?
    :thenks:
     
  4. o_nix

    o_nix

    Регистр.:
    7 ноя 2007
    Сообщения:
    1.073
    Симпатии:
    1.037
    всё также как с курлом
    под win надо скачивать отдельно

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

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

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