Выполнить поток HTTP / S в Windows

207
Sergei

Как выполнить HTTPS ссылку на скачивание файла exe напрямую?

0

1 ответ на вопрос

0
Ben N

Вы не можете напрямую запустить файл из Интернета, но вы можете сначала загрузить файл, а затем запустить его. Этот однострочный PowerShell должен сделать это:

[System.IO.File]::WriteAllBytes("tmpfile.exe", (Invoke-WebRequest "https://example.com/app.exe").Content); Start-Process tmpfile.exe 

Это оставит tmpfile.exeпрограмму в текущем каталоге. Вместо этого, чтобы оставить его в каталоге Temp (где, мы надеемся, он скоро будет очищен):

$tmpPath = [System.IO.Path]::GetTempFileName() + ".exe"; [System.IO.File]::WriteAllBytes($tmpPath, (Invoke-WebRequest "https://example.com/app.exe").Content); Start-Process $tmpPath 

Используя их, вы, вероятно, могли бы установить скрипт для загрузки и запуска EXE с произвольного URL. Вы можете вызвать команду PowerShell из обычной командной строки или командного файла, поставив powershell -commandперед ней:

@echo off rem Downloads and runs an EXE from a URL. powershell -command $tmpPath = [System.IO.Path]::GetTempFileName() + '.exe'; [System.IO.File]::WriteAllBytes($tmpPath, (Invoke-WebRequest "%*").Content); Start-Process $tmpPath