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

如何在PowerShell中转义路径正斜杠/访问含正斜杠的注册表路径

问题原因

PowerShell 注册表提供者默认会将路径中的正斜杠/与反斜杠\统一识别为路径分隔符,你输入的路径HKLM:\SOFTWARE\Classes\MAPI/Attachment会被自动转换为HKLM:\SOFTWARE\Classes\MAPI\Attachment,也就是尝试定位MAPI项下的Attachment子项。如果实际注册表项名称本身包含/(即项名为MAPI/Attachment),就会触发路径不存在的报错。
注册表路径截图

解决方案

方案1:使用-LiteralPath参数搭配转义符

-LiteralPath参数会原样解析输入的路径,不会自动转换路径分隔符,搭配 PowerShell 转义符反引号```转义路径中的正斜杠即可正常访问:

Get-ChildItem -LiteralPath 'HKLM:\SOFTWARE\Classes\MAPI`/Attachment'

如果使用双引号包裹路径,需要写两个反引号完成转义。

方案2:调用.NET注册表类访问(兼容性最高)

绕过 PowerShell 的路径解析逻辑,直接使用.NET 框架的原生注册表操作类访问,无需额外转义特殊字符:

# 打开目标注册表项
$targetReg = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SOFTWARE\Classes\MAPI/Attachment')
# 查看项下所有值名称
$targetReg.GetValueNames()
# 读取指定值的内容
$targetReg.GetValue("要读取的值名称")

方案3:修正路径分隔符

如果确认注册表结构为MAPI项下存在Attachment子项,只是路径书写错误,直接将正斜杠替换为反斜杠即可:

Get-ChildItem -Path 'HKLM:\SOFTWARE\Classes\MAPI\Attachment'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:45:01