You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中自动识别最新版本的指定应用并执行安装

PowerShell 自动匹配最新版本安装包解决方案

原脚本错误原因

  • PowerShell 通配符不支持{0-9}写法,且你定义的$version变量拼接逻辑重复,导致最终路径完全不符合预期
  • 没有对匹配到的多版本文件做版本排序,无法保证拿到最新安装包
  • 版本号直接用字符串匹配会出现排序错误,例如字符串比较时1.0.0.10会被判定为小于1.0.0.9

完整可用脚本

# 可修改此处为安装包所在的绝对路径,例:"C:\软件安装包\"
$packagePath = "./"

# 匹配所有符合命名规则的安装包
$allBootstrappers = Get-ChildItem -Path $packagePath -Filter "x64.Staging.*.ClientBootstrapper.exe" -File

# 未找到安装包时抛出错误退出
if ($allBootstrappers.Count -eq 0) {
    Write-Error "当前目录下未找到符合规则的ClientBootstrapper安装包"
    exit 1
}

# 提取版本号排序,取最新版本
$latestInstaller = $allBootstrappers | ForEach-Object {
    $nameSeg = $_.Name -split '\.', 5
    # 校验提取到的内容是否为合法版本号
    if ($nameSeg.Count -ge 4 -and [version]::TryParse($nameSeg[3], [ref]$null)) {
        [PSCustomObject]@{
            File = $_
            Ver = [version]$nameSeg[3]
        }
    }
} | Sort-Object Ver -Descending | Select-Object -First 1 -ExpandProperty File

# 执行静默安装
& $latestInstaller.FullName /qn

简化版本(仅适用于目录下永远只有一个符合规则的安装包的场景)

& (Get-Item ./x64.Staging.*.ClientBootstrapper.exe) /qn

内容的提问来源于stack exchange,提问作者kostukp96

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:06:02