Führen Sie den HTTP / S-Stream unter Windows aus

295
Sergei

Wie führt man einen HTTPS-Download-Link direkt in eine Exe-Datei aus?

0

1 Antwort auf die Frage

0
Ben N

Sie können eine Datei nicht direkt aus dem Web ausführen. Sie können die Datei jedoch zuerst herunterladen und dann ausführen. Dieser PowerShell-One-Liner sollte es tun:

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

Dadurch wird ein tmpfile.exeProgramm im aktuellen Verzeichnis zurückgelassen. Um es stattdessen im Temp-Verzeichnis zu belassen (wo es hoffentlich bald aufgeräumt wird):

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

Wenn Sie diese verwenden, können Sie wahrscheinlich ein Skript erstellen, um eine EXE-Datei von einer beliebigen URL herunterzuladen und auszuführen. Sie können einen PowerShell-Befehl von einer normalen Eingabeaufforderung oder Batchdatei aus aufrufen, indem Sie ihn powershell -commandvor stellen:

@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