Powershell下载并执行exe文件

时间:2019-01-15 08:17:54

标签: powershell

我需要以exe格式下载2个文件,并使用批处理脚本运行它们。我尝试了几个命令,都无济于事。你能帮忙吗? 这是我尝试过的代码的一个片段

@echo off

set files='url1','url2'

powershell "(%files%)|foreach{$fileName='%TEMP%'+(Split-Path -Path $_ -Leaf);(new-object System.Net.WebClient).DownloadFile($_,$fileName);Invoke-Item $fileName;}"

这不起作用。

1 个答案:

答案 0 :(得分:0)

就我个人而言,我将对所有内容使用Powershell语法,而不是在BATCH中混用。

使用@('url1','url2')$env:TEMP定义数组:

@('url1','url2') | foreach {
    $fileName = $env:TEMP + (Split-Path -Path $_ -Leaf)
    (New-Object System.Net.WebClient).DownloadFile($_,$fileName)
    Invoke-Item $fileName
}

或从命令行调用的单个衬里:

powershell "@('url1','url2') | foreach{$fileName = $env:TEMP + (Split-Path -Path $_ -Leaf);(New-Object System.Net.WebClient).DownloadFile($_,$fileName);Invoke-Item $fileName}"