Executa o fluxo HTTP / S no Windows

0

Como executar o link de download HTTPS para um arquivo exe diretamente?

    
por Sergei 26.04.2016 / 08:16

1 resposta

0

Você não pode executar diretamente um arquivo da Web, mas pode baixar o arquivo primeiro e depois executá-lo. Este one-liner do PowerShell deve fazer isso:

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

Isso deixará para trás um programa tmpfile.exe no diretório atual. Em vez disso, deixe-o no diretório Temp (onde, esperamos, será limpo em breve):

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

Usando estes, você provavelmente poderia montar um script para baixar e executar um EXE de um URL arbitrário. Você pode invocar um comando do PowerShell em um prompt de comando ou arquivo de lote normal, colocando powershell -command antes dele:

@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
    
por 26.04.2016 / 15:59