Как я могу загрузить и выполнить несколько файлов через http|https с помощью .vbs?
На самом деле мне нужен скрипт vbs работающий со всеми платформами windows с новейшим методом VBsripting для этих функций:
Функция 1: Скачать через HTTP|HTTPS, то сохраните путь 'c:\driver.exe' с правами админа, потом запустить с driver.exe прав''
Функция 2: дождитесь завершения первого процесса, переходите к следующей функции
Функция 3: скачать через HTTP|HTTPS, то сохраните путь 'c:\vcredist.exe с правами администратора, затем запустите с правами 'vcredist.exe'
Функция 4: дождитесь завершения третьего процесса , а затем перейдите к следующей функции
Функция 5: скачать через HTTP|HTTPS, то сохраните путь 'c:\visualstudio.exe с правами администратора, затем запустите с правами 'visualstudio.exe'
Pls хорошая помощь будет оценена по достоинству
Что я уже пробовал:
Метод, который я пробовал до сих пор, не работает.
Редактировать CHill60 - ОП-код от комментария
On Error Resume Next Set File = CreateObject("Microsoft.XMLHTTP") File.Open "GET", "https://aka.ms/vs/16/release/vc_redist.x86.exe", False 'This is IE 8 headers File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)" File.send If Err.Number <> 0 Then Line = "" Line = Line & vbCrLf & "" Line = Line & vbCrLf & "Error getting file" Line = Line & vbCrLf & "==================" Line = Line & vbCrLf & "" Line = Line & vbCrLf & "Error " & Err.Number & "(0x" & Hex(Err.Number) & ") " & Err.Description Line = Line & vbCrLf & "Source " & Err.Source Line = Line & vbCrLf & "" Line = Line & vbCrLf & "HTTP Error " & File.Status & " " & File.statusText Line = Line & vbCrLf & File.getAllResponseHeaders wscript.echo Line Err.Clear wscript.Quit End If On Error GoTo 0 Set BS = CreateObject("ADODB.Stream") BS.Type = 1 BS.Open BS.Write File.responseBody BS.SaveToFile "%AppData%\vc_redist.x86.exe", 2 'Execute File CreateObject("Shell.Application").ShellExecute "%AppData%\vc_redist.x86.exe" Next wscript.Sleep 1000 On Error Resume Next Set File = CreateObject("Microsoft.XMLHTTP") File.Open "GET", "https://aka.ms/vs/16/release/VC_redist.arm64.exe", False 'This is IE 8 headers File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)" File.send If Err.Number <> 0 Then Line = "" Line = Line & vbCrLf & "" Line = Line & vbCrLf & "Error getting file" Line = Line & vbCrLf & "==================" Line = Line & vbCrLf & "" Line = Line & vbCrLf & "Error " & Err.Number & "(0x" & Hex(Err.Number) & ") " & Err.Description Line = Line & vbCrLf & "Source " & Err.Source Line = Line & vbCrLf & "" Line = Line & vbCrLf & "HTTP Error " & File.Status & " " & File.statusText Line = Line & vbCrLf & File.getAllResponseHeaders wscript.echo Line Err.Clear wscript.Quit End If On Error GoTo 0 Set BS = CreateObject("ADODB.Stream") BS.Type = 1 BS.Open BS.Write File.responseBody BS.SaveToFile "%AppData%\VC_redist.arm64.exe", 2 'Execute File CreateObject("Shell.Application").ShellExecute "%AppData%\VC_redist.arm64.exe"
Richard MacCutchan
- Метод, который я пробовал до сих пор, не работает."
Ну, поскольку мы не можем видеть ваш экран, невозможно сказать, почему. И кроме того, маловероятно, что вы получите права администратора таким образом. Честно говоря, это выглядит так, как будто вы пытаетесь взломать чью-то систему, так что вряд ли кто-то здесь поможет.
Loan Chex, LLC
В Резюме Об Ошибке Следующий
Set File = CreateObject("Microsoft.XMLHTTP")
Файл.Откройте "GET", "https://aka.ms/vs/16/release/vc_redist.x86.exe", ложь
'Это IE 8 заголовки
Файл.добавляет "пользователь-агент", далее "Mozilla/4.0 (совместимый; MSIE 8.0 для Windows 6.0; отель Trident/4.0; SLCC1; .Чистая среда CLR 2.0.50727; Медиа Центр PC 5.0; .ЧИСТАЯ СРЕДА CLR 1.1.4322; .ЧИСТАЯ СРЕДА CLR 3.5.30729; .ЧИСТАЯ СРЕДА CLR 3.0.30618; .Серии net4.0С; .Серии net4.0Е; BCD2000; BCD2000)"
Файл.Отправить
Если индикатор ERR.количество на < и gt; 0 тогда
линия =""
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "ошибка получения файла"
Линия = &ампер; vbcrlf &амп; "=================="
Line = Line & vbcrlf & ""
Линия = &ампер; vbcrlf &ампер; "ошибка" &амп; ошибиться.количество &ампер; "(с 0x" &амп; шестигранные(ошибаться.число) и усилитель; amp; ") " &амп; ошибиться.описание
Линия = &ампер; vbcrlf &ампер; "источник" &амп; ошибиться.источник
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "ошибка HTTP" & файл.Статус &ампер; "" &амп; файл.Statustext также
Линия = &ампер; vbcrlf &амп; файл.getAllResponseHeaders
объект WScript.линия Эхо
Ошибаться.понятно
объект WScript.бросить
Конец, Если
On Error Goto 0
Набор БС = функция createobject("adodb, хранящихся.Трансляция")
BS.type = 1
BS.открыть
BS.запись файла.ResponseBody
BS.SaveToFile "%AppData%\vc_redist.x86.exe", 2
'Выполнить Файл
CreateObject("Оболочка.Приложение").Функции Shellexecute "%AppData%\vc_redist.x86.exe"
Следующий
WScript.Спать 1000
В Резюме Об Ошибке Следующий
Set File = CreateObject("Microsoft.XMLHTTP")
Файл.Откройте "GET", "https://aka.ms/vs/16/release/VC_redist.arm64.exe", ложь
'Это IE 8 заголовки
Файл.добавляет "пользователь-агент", далее "Mozilla/4.0 (совместимый; MSIE 8.0 для Windows 6.0; отель Trident/4.0; SLCC1; .Чистая среда CLR 2.0.50727; Медиа Центр PC 5.0; .ЧИСТАЯ СРЕДА CLR 1.1.4322; .ЧИСТАЯ СРЕДА CLR 3.5.30729; .ЧИСТАЯ СРЕДА CLR 3.0.30618; .Серии net4.0С; .Серии net4.0Е; BCD2000; BCD2000)"
Файл.Отправить
Если индикатор ERR.количество на < и gt; 0 тогда
линия =""
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "ошибка получения файла"
Линия = &ампер; vbcrlf &амп; "=================="
Line = Line & vbcrlf & ""
Линия = &ампер; vbcrlf &ампер; "ошибка" &амп; ошибиться.количество &ампер; "(с 0x" &амп; шестигранные(ошибаться.число) и усилитель; amp; ") " &амп; ошибиться.описание
Линия = &ампер; vbcrlf &ампер; "источник" &амп; ошибиться.источник
Line = Line & vbcrlf & ""
Line = Line & vbcrlf & "ошибка HTTP" & файл.Статус &ампер; "" &амп; файл.Statustext также
Линия = &ампер; vbcrlf &амп; файл.getAllResponseHeaders
объект WScript.линия Эхо
Ошибаться.понятно
объект WScript.бросить
Конец, Если
On Error Goto 0
Набор БС = функция createobject("adodb, хранящихся.Трансляция")
BS.type = 1
BS.открыть
BS.запись файла.ResponseBody
BS.SaveToFile "%AppData%\VC_redist.arm64.exe", 2
'Выполнить Файл
CreateObject("Оболочка.Приложение").Функции Shellexecute "%AppData%\VC_redist.arm64.exe"
Dave Kreskowiak
Вам придется описать, какая часть этого не работает.
CHill60
В вашем коде есть случайное "Next" без "For", поэтому он неполон. Используйте ссылку "улучшить вопрос" в исходном сообщении, чтобы добавить недостающий код
Loan Chex, LLC
Кажется, ничего не работает. Пожалуйста, мне нужен рабочий код лучше, чем этот, если есть возможность помочь. Мне нужен новый код
CHill60
phil.o
Что значит "не работает" означает? Есть ли ошибки (если да, пожалуйста, покажите сообщения об ошибках)? Или же он не делает того, чего вы ожидаете (если да, то объясните, чего вы ожидаете и что получаете взамен)? Пожалуйста, помогите нам помочь вам, предоставив соответствующую информацию. Наконец, это не Форум для заказа кода, так что соблюдение "мне нужен код pls", боюсь, не приведет вас очень далеко.
Loan Chex, LLC
Глядя на сценарий выше, когда я запускаю его, он не работает. Вот почему я пытаюсь понять, что в этом плохого, спрашивая кого-то, кто обширен.
ZurdoDev
Не работает, не говорит нам много, как уже было объяснено.