PowerShell导入含空格路径/文件名的注册表文件失败,求解决方案
解决PowerShell中导入带空格路径的注册表文件问题
问题根源
你当前的写法没有正确处理带空格的路径——PowerShell会把空格当作参数分隔符,导致reg/regedit收到被拆分的不完整路径,无法定位到目标注册表文件。
正确写法示例
方法1:用双引号包裹完整路径(直接拼接)
# 使用 reg import 的正确写法 reg import "$($PSScriptRoot)\Remove Extra Folders from Windows 10 This PC\Remove Extra Folders from Windows 10 This PC.reg" # 使用 regedit /s 的正确写法 regedit /s "$($PSScriptRoot)\Remove Extra Folders from Windows 10 This PC\Remove Extra Folders from Windows 10 This PC.reg"
$()用于在双引号中嵌入PowerShell变量的表达式,确保路径被完整解析为单个字符串。
方法2:用Join-Path拼接路径(更稳妥)
手动拼接路径容易出错,推荐用Join-Path自动处理路径分隔符:
# 拼接完整路径 $regFilePath = Join-Path -Path $PSScriptRoot -ChildPath "Remove Extra Folders from Windows 10 This PC\Remove Extra Folders from Windows 10 This PC.reg" # 执行导入 reg import "$regFilePath" # 或者用 regedit regedit /s "$regFilePath"
额外注意事项
- 导入注册表需要管理员权限,请确保PowerShell窗口是以管理员身份运行的,否则即使路径正确也会执行失败。
- 验证路径是否正确:可以先执行
Test-Path $regFilePath,返回True说明路径有效,返回False则检查文件夹或文件名是否拼写错误。
内容的提问来源于stack exchange,提问作者Azertix
相关产品推荐
相关产品推荐

