![]() |
Загрузка файла из интернета посредством команд CMD
Привет.
Пишу утилиту которая в числе прочего устанавливает обновления Windows. Если оно есть в папке со скриптом все хорошо. Но хотелось бы для уменьшения размера скрипта (дабы не распространять с ним обновление) чтобы скрипт в случае отсутствия обновлениий запрашивал загрузку с заранее известного адреса. Желательно без доп. утилит. Переменные- Код:
%KBFile1% (уже заданное имя файла) |
Про утилитку wget слыхали? Может помочь.
|
Цитата:
|
Цитата:
Цитата:
P.S. файла для примера взяты от балды, для работы треба XP SP2 |
Я может невнимательно смотрел справку к curl, но как определить подключен ли к интернету компьютер ??
Ибо команда Код:
curl -O http://.......file.exe только без интернета подключенного получается не файл, а пустышка. Короче как определить подключен ли комп к интернету из cmd ? |
volk1234, может использовать ключ "-I" ?
Код:
curl -I http://.......file.exe |
Цитата:
|
volk1234, странно... у меня вроде работает:
Код:
@Echo Off |
Пишу просто
Код:
curl -f -s -I http://download.microsoft.com/download/1/B/3/1B331878-8AF9-4642-94F4-0B0B0A9DD14A/WindowsXP-KB967715-x86-ENU.exe Пишу Код:
curl -O http://download.microsoft.com/download/1/B/3/1B331878-8AF9-4642-94F4-0B0B0A9DD14A/WindowsXP-KB967715-x86-ENU.exe |
Цитата:
Код:
curl -f -# -O http://download.microsoft.com/download/1/B/3/1B331878-8AF9-4642-94F4-0B0B0A9DD14A/WindowsXP-KB967715-x86-ENU.exe |
Без подключения к интернету приведенная выше команда всеравно создает файл размером 4223 кб.
|
volk1234, так что мешает сначала проверить подключение с ключом "-I", а потом при успехе (отсутствии ошибки) уже запускать закачку?.... можно даже заранее считать размер файла, а потом по окончании закачки сверить и сделать вывод об успехе или неудаче
|
Ну наверное лень разбиратся, почему не работает. И незнание как проверить с ошибкой ли закончилась попытка проверить хост.
Просто у меня скрипт работает с этими файлами и их наличие критично. Хотя ваш пример с проверкой url и сравниванием размера файла с удовольствием посмотрел бы :) И позаимствовал бы... |
volk1234, дык я выше давал примеры, еще вариант:
Код:
@Echo Off |
Почемуто не отрабатывала часть скрипта с прокси (ругалась на синтаксис)-
Код:
-x %PROXY% Возможно это связанно с маршрутизацией в моей сети. Однако если отключить сетевую карту проверка соединения срабатывала. Вот какую петрушку показала команда из скрипта вышеcurl -f -s -I "%~2" Без соединения: ![]() С VPN соединением с интернетом ![]() То есть по какой- то причине удается соединится с "неким" сервером и скачать текстовый файл размером 4 223 байта - поэтому и не срабатывает ошибка и проверка на размер файла :shocked: |
Цитата:
Цитата:
Цитата:
|
Можно еще проверять по веб вервру- IIS мало кто использует :))
Да и тип файла должен быть application а не текст. А текст - это наверное страничка провайдера... |
Цитата:
Код:
@Echo Off |
Проверил на выделенке на работе - вроде работает. Еще проверю дома на VPN...,
А для чего ключи /B 0-4 ??? |
Цитата:
|
Почемуто на VPN соединении не отрабатывает вот этот код -
пишет Not Responding, я даже добавил отдельной строкой curl -i-s-f игнорирует команду просто... |
Цитата:
|
Здравствуйте amel27 посмотрел на некоторых ветках форума такой вопрос - скачивание файла по FTP, попробЫвал вами предложенный пример:
Код:
@Echo Код:
Связь с 87.242.75.131. |
Цитата:
|
Спасибо amel27 прошелся к ссылке
Цитата:
|
Oleg48, поиск творит чудеса
|
Здравствуйте, FTP , это конечно хорошо, а как скачать с простого урла. Здесь в начале темы проскакивала команда CURL, но она не работает, может нужно ставить какие нибудь утилиты?
|
На самом деле curl работает, просто в моем случае оказалось, что скачивание с сайта microsoft обновлений разрешено для
установленной на компьютере ОС. То есть команда Код:
curl -f -# -O "%KBURL%" для 2003 ОС. На windows XP эта ссылка у меня не работала. И наоборот. |
Воспользовался частично советом amel27, частично покапался в хелпе ncftp, сейчас скачиваю по ftp так:
Код:
ncftpget -F ftp://ftp.drweb.com/pub/drweb/windows/drweb-500-win.exe А по поводу curl , у меня система - XP, по этому, вопрос про скачивание с простого урла, для меня остался открытым!!! |
Думаю запоздал, но ...
На счет готовности иНет - не проще ли пингануть сервак перед попыткой скачивания? что-нить типа такого: Код:
ping -n 1 download.microsoft.com |
Прошу прощеения за подъем старой темы в топ. Почитал данную ветвь, но так и не понял, можно ли произвести загрузку файла стандартными средствавми, без всяких доп утилит?
|
endloz, пост #4 - через VBS
если через PowerShell, то лучше создать новую тему с указанием соответствующей категории |
amel27, Спасибо большое. Первый раз кликал без регистрации, поэтому хайд и не открывался. Пойду изучать VBS :)
|
А можно ли сделать так, чтобы батник качал с ftp только измененные данные, к примеру, по мере обновления файлов в папке?
|
barsikline, для этого лучше использовать синхронизатор файлов. Например Allway Sync поддерживает синхронизацию с ftp-сервера.
|
leonaft
Цитата:
|
Народ привет!!
Решил вновь воспользоваться кодом отсюда для своих целей, вроде все должно работать- на выходе бред: один файл скачивается нормально, второй с ошибкой (я так понимаю ошибка размера файла): Скрипт: Вывод скрипта: Разница в размере файла mpam-fe.exe: curl показывает, что качает файл размером 94 886 680 Bytes а на диске(смотрю в totalCMD) файл занимает 94 882 576 Bytes WTF?! |
volk1234, bitsadmin скачал файл размером 94902552 байт:
Код:
bitsadmin /transfer /download /priority high "http://download.microsoft.com/download/DefinitionUpdates/mpam-fe.exe" "%cd%\mpam-fe.exe" |
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Я бы скорее грешил на сторонний брандмауэр, в особенности Outpost (если он установлен). Кстати, файлы эти проверяются по цифровой подписи MS (правой кнопкой -- Свойства -- Цифровые подписи -- двойной щелчок по подписи, и смотреть в следующем выплывшем окне: действительна или нет); т.е. для них можно абсолютно точно сказать, битый файл скачался или нет. PS А если смотреть с точки зрения возможности изменения файла в процессе закачки -- то, в принципе, можно периодически переспрашивать в процессе, или по её завершении переспросить размер и дату файла, и если что-то тут изменилось -- перекачать и снова проверить. |
Походу просто придется отказаться от проверки размера файла....
Может какие нибудь идеи по переделки кода скрипта- ? |
Хм, изменился размер файла, и ошибка перестала появляться. Хотя я вроде проверял на двух разных базах в течении дня.... :sorry:
|
Время: 18:53. |
Время: 18:53.
© OSzone.net 2001-