在 Windows 上执行 HTTP/S 流

在 Windows 上执行 HTTP/S 流

如何直接执行 exe 文件的 HTTPS 下载链接?

答案1

您无法直接从 Web 运行文件,但您可以先下载文件,然后运行它。此 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

使用这些,您可能可以编写一个脚本来从任意 URL 下载并运行 EXE。您可以在常规命令提示符或批处理文件中调用 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

相关内容