Powershell下载并运行exe文件

时间:2017-11-04 12:27:05

标签: powershell

我需要从网站下载文件然后运行此文件。文件采用exe格式。我尝试了很多命令,但没有成功。你可以帮帮我吗。非常感谢您的帮助,祝您度过愉快的一天。

2 个答案:

答案 0 :(得分:9)

您想要的脚本将做两件事。首先,我们将下载文件并将其存储在可访问的位置。其次,我们将使用我们成功安装所需的任何参数来运行可执行文件。

第1步:

我们有两种方法可以完成这项任务。第一种是使用Invoke-Webrequest。我们需要的唯一两个参数是.exe文件的URL,以及我们希望该文件在我们的本地机器上的位置。

$url = "http://www.contoso.com/pathtoexe.exe"
$outpath = "$PSScriptRoot/myexe.exe"
Invoke-WebRequest -Uri $url -OutFile $outpath

我在这里使用$PSScriptRoot,因为它可以让我在运行Powershell脚本的地方放下exe,但可以自由选择一个路径,比如C:/ temp或者下载或者其他什么你要。您可能会注意到,对于较大的文件,Invoke-WebRequest方法需要很长时间。如果是这种情况,我们可以直接致电.Net并希望加快速度。

我们将$ url和$ outpath的变量设置为相同,但我们将使用以下.Net代码而不是Invoke-WebRequest

$wc = New-Object System.Net.WebClient
$wc.DownloadFile($url, $outpath)

第2步:

调用可执行文件很容易。

$args = @("Comma","Separated","Arguments")
Start-Process -Filepath "$PSScriptRoot/myexe.exe" -ArgumentList $args

这应该就是为你做的。

答案 1 :(得分:0)

$url = "http://www.contoso.com/pathtoexe.exe"
$outpath = "$PSScriptRoot/myexe.exe"

$wc = New-Object System.Net.WebClient
$wc.DownloadFile($url, $outpath)

$args = @("Comma","Separated","Arguments")
Start-Process -Filepath "$PSScriptRoot/myexe.exe" -ArgumentList $args