我需要以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;}"
这不起作用。
答案 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}"