Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Загрузка файла из интернета посредством команд CMD

Ответить
Настройки темы
CMD/BAT - [решено] Загрузка файла из интернета посредством команд CMD

Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314


Конфигурация

Профиль | Отправить PM | Цитировать


Привет.

Пишу утилиту которая в числе прочего устанавливает обновления Windows. Если оно есть в папке со скриптом все хорошо.
Но хотелось бы для уменьшения размера скрипта (дабы не распространять с ним обновление) чтобы скрипт в случае отсутствия обновлениий
запрашивал загрузку с заранее известного адреса. Желательно без доп. утилит.

Переменные-
Код: Выделить весь код
%KBFile1% (уже заданное имя файла)
%KBFile2% (уже заданное имя файла)
%KB1_url% (соответственно путь для закачки файла обновлений 1)
%KB2_url%  (соответственно путь для закачки файла обновлений 2)

-------

Ю-ху!


Отправлено: 11:16, 01-11-2009

 

Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Почемуто на VPN соединении не отрабатывает вот этот код -
пишет Not Responding,
я даже добавил отдельной строкой curl -i-s-f игнорирует команду просто...
читать дальше »
Код: Выделить весь код
:KB_download
Call :curl_DETECT

Rem Proxy detect
 Set $X=&Set $R=HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
 For /F "Tokens=1,3" %%i In ('REG Query "%$R%"^|Find "Proxy"') Do Set %%i=%%j
 If "%ProxyEnable%"=="0x1" Set $X=-x %ProxyServer%
 
 Echo curl %KBURL%
 curl -f -s -I %KBURL%
 
 <Nul Set /P XYZ=Testing Connection...
 curl -f -s -I %KBURL% %$X%|Find " 200 OK" >Nul
 If ErrorLevel 1 Echo ERROR [Not Responding]& Pause& Exit /B 1
 

 For /F "Skip=1 Tokens=1* Delims=: " %%i In (
  'curl -f -s -I "%KBURL%" %$X%') Do Set %%i=%%j
 If /I "%Content-Type%"=="application/octet-stream" (
  Echo.
  Echo File Size [%Content-Length% Bytes] ) Else Echo ERROR [Wrong Response]& Pause& Exit /B 2

 Echo Downloading %KBFile%...
 curl -f -# -O "%KBURL%" %$X%
 If Not Exist %KBFile% Echo ERROR [Download not starting].& Pause& Exit /B 3
 For %%i In ("%KBFile%") Do (
 If %%~zi EQU %Content-Length% Echo File Download Successfully!& Goto :EOF)
 Echo ERROR [Download interrupted abnormally]
Pause
Exit /B 4

Goto :EOF

-------

Ю-ху!


Отправлено: 13:00, 13-11-2009 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата volk1234:
на VPN соединении не отрабатывает вот этот код »
не понял - не отрабатывает только батник или одна команда "'curl -f -s -I" для любого линка тоже?

Отправлено: 10:56, 14-11-2009 | #22


Аватара для Oleg48

Старожил


Сообщения: 158
Благодарности: 17

Профиль | Отправить PM | Цитировать


Здравствуйте amel27 посмотрел на некоторых ветках форума такой вопрос - скачивание файла по FTP, попробЫвал вами предложенный пример:
Код: Выделить весь код
@Echo  
:: ~Параметры соединения  
Set $Host=ftp.drweb.com  
Set $User=anonymous  
Set $Pass=  
:: ~Что и куда копируем  
SET $SRC=pub\drweb\bases\drwebase.zip  
SET $DST=D:\TEST\drwebase.zip  
:: ~Временные файлы  
Set $FFtp=%~dpn0.cfg  
:: Готовим CFG-файл 
Echo.%$User%>"%$FFtp%"  
Echo.%$Pass%>>"%$FFtp%"  
Echo get "%$SRC%" "%$DST%">>"%$FFtp%"  
Echo bye>>"%$FFtp%"  
:: Выполняем команду 
 FTP -s:"%$FFtp%" %$Host%
результат получился таким:
Код: Выделить весь код
Связь с 87.242.75.131.  
220 Welcome to Dr.Web FTP service.  
Пользователь (87.242.75.131:(none)):  
331 Please specify the password.    
230 Login successful.  
ftp> get "pub\drweb\bases\drwebase.zip" "D:\TEST\drwebase.zip"  
200 PORT command successful. Consider using PASV.  
550 Failed to open file.  
ftp> bye  
221 Goodbye.
Подскажите пожалуйста что неработае этом примере?

Отправлено: 15:14, 22-11-2009 | #23


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Oleg48:
посмотрел на некоторых ветках форума такой вопрос - скачивание файла по FTP »
тогда должны были обратить внимание на особенность FTP.EXE: http://forum.oszone.net/post-1180295-4.html

Отправлено: 15:42, 22-11-2009 | #24


Аватара для Oleg48

Старожил


Сообщения: 158
Благодарности: 17

Профиль | Отправить PM | Цитировать


Спасибо amel27 прошелся к ссылке
Цитата:
тогда должны были обратить внимание на особенность FTP.EXE: http://forum.oszone.net/post-1180295-4.html
тогда встречный вопрос, может есть Help на русском?

Последний раз редактировалось Oleg48, 24-11-2009 в 20:07.


Отправлено: 19:53, 24-11-2009 | #25


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Oleg48, поиск творит чудеса

Отправлено: 06:54, 26-11-2009 | #26


Аватара для Oleg48

Старожил


Сообщения: 158
Благодарности: 17

Профиль | Отправить PM | Цитировать


Здравствуйте, FTP , это конечно хорошо, а как скачать с простого урла. Здесь в начале темы проскакивала команда CURL, но она не работает, может нужно ставить какие нибудь утилиты?

Отправлено: 20:02, 01-12-2009 | #27


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


На самом деле curl работает, просто в моем случае оказалось, что скачивание с сайта microsoft обновлений разрешено для
установленной на компьютере ОС. То есть команда
Код: Выделить весь код
 curl -f -# -O "%KBURL%"
работает на windows 2003 если %KBURL% -ссылка на обновление
для 2003 ОС. На windows XP эта ссылка у меня не работала. И наоборот.

-------

Ю-ху!


Отправлено: 23:02, 01-12-2009 | #28


Аватара для Oleg48

Старожил


Сообщения: 158
Благодарности: 17

Профиль | Отправить PM | Цитировать


Воспользовался частично советом amel27, частично покапался в хелпе ncftp, сейчас скачиваю по ftp так:
Код: Выделить весь код
ncftpget -F ftp://ftp.drweb.com/pub/drweb/windows/drweb-500-win.exe  
if %errorlevel%==0 (echo "DrWeb - скачался удачно") else echo "DrWeb - ошибка скачивания файла"
Конечно использовал сторонюю утилиту, однако результат меня устраивает.
А по поводу curl , у меня система - XP, по этому, вопрос про скачивание с простого урла, для меня остался открытым!!!

Отправлено: 00:45, 02-12-2009 | #29


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


Думаю запоздал, но ...
На счет готовности иНет - не проще ли пингануть сервак перед попыткой скачивания?
что-нить типа такого:
Код: Выделить весь код
ping -n 1 download.microsoft.com
if not %ErrorLevel%==0 exit

-------
Как сказало Дерево Дровосеку: "я - пень".

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:38, 02-12-2009 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Загрузка файла из интернета посредством команд CMD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Разрыв pppoe подключения и запуск приложения посредством cmd antikiller_bm Скриптовые языки администрирования Windows 1 29-12-2009 12:58
CMD/BAT - [решено] Помогите запустить CMD-файл из CMD-файла с параметрами Oleg48 Скриптовые языки администрирования Windows 2 18-11-2009 11:08
Интернет - Настройка интернета на windows 7 (посредством mer) Frag-o-Matik Microsoft Windows 7 0 13-09-2009 11:37
CMD/BAT - [решено] Нужна помощ в переписании команд из cmd в command.com, или на чтонибудь еще TruLander Скриптовые языки администрирования Windows 6 20-04-2009 17:32
Помогите пожалуйста не срабатывает команда из*cmd файла запускаемого из RanOnceEx.cmd vovchiku Автоматическая установка Windows 2000/XP/2003 6 25-09-2007 23:38




 
Переход