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

如何合并两个PowerShell应用查询脚本并完善批处理输出行?

合并PowerShell脚本并修改批处理输出行

可以直接修改批处理输出行的拼接逻辑,让它包含PackageFamilyName字段,而且实际上UWP应用通过shell:appsFolder启动的标准格式就是shell:appsFolder\PackageFamilyName!ApplicationId,这样修改后还能保证启动命令的有效性。

修改后的完整脚本如下:

# 获取应用包并选择所需属性
$packages = Get-AppxPackage | Select Name, InstallLocation, PackageFamilyName, Target

# 遍历每个应用包
foreach ($package in $packages) {
    $appName = $package.Name
    $appId = (Get-AppxPackage -Name $appName | Get-AppxPackageManifest).package.applications.application.id
    $batchPrefix = "start explorer.exe shell:appsFolder\"

    # 为对象添加ApplicationId属性
    $package | Add-Member -MemberType NoteProperty -Name "ApplicationId" -Value $appId
    
    # 格式化批处理输出行,包含PackageFamilyName
    $package | Add-Member -MemberType NoteProperty -Name "Batchfile Line" -Value "$batchPrefix$($package.PackageFamilyName)!$appId"
}

# 输出合并后的结果
$packages

修改说明

主要调整了批处理行的拼接部分:

  • 把原来直接拼接$appName的逻辑,改成调用$package.PackageFamilyName
  • 用PowerShell的字符串插值语法$()确保属性正确解析,避免拼接错误

这样生成的Batchfile Line字段就会包含PackageFamilyName,同时生成的启动命令也是符合UWP应用启动规范的有效命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 17:40:07