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

PowerShell修改开始菜单XML文件时Set-Content命令执行失败问题

问题根因
  • 核心错误为变量用途混淆:$StartMenuLayout变量存储的是Get-Content读取到的XML文件文本内容,但调用Set-Content时,误将该内容变量传给了要求传入文件路径的-Path参数,系统将XML内容作为路径解析,触发路径非法、驱动不存在的报错。
修复方案

将文件路径与文件内容分开存储,替换完成后将新内容写入正确的文件路径即可,修正后的代码如下:

# 单独定义XML文件路径
$xmlPath = 'C:\temp\StartMenu.xml'
# 读取文件全部内容
$startMenuContent = Get-Content -Path $xmlPath -Raw

Function Edit-StartMenuLayout {
    If ($startMenuContent -notlike '*Microsoft.Windows.Photos_cw5n1h2txyewy*'){
        Try {
            # 执行字符串替换后将结果写入原路径
            $startMenuContent -replace 'Microsoft.Windows.Photos_8wekyb3d8bbwe!App','Microsoft.Windows.Photos_cw5n1h2txyewy!App' | Set-Content -Path $xmlPath -Encoding UTF8
            Write-Host "开始菜单布局XML文件修改完成"
        }
        Catch { 
            Write-Host "编辑开始菜单布局XML文件失败!原因:$($_.Exception.Message)" 
        }
    }
    Else{
        Write-Host "开始菜单布局XML文件已包含正确的应用ID引用,跳过操作..."
    }
}

Edit-StartMenuLayout

优化建议:如果需要更高的修改稳定性,可使用PowerShell原生XML对象解析能力直接修改对应节点属性,避免字符串替换可能出现的误匹配问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:57:00