如何使用 PowerShell 或批处理文件修改注册表中的可扩展字符串值?

如何使用 PowerShell 或批处理文件修改注册表中的可扩展字符串值?

我想使用 PowerShell 或批处理脚本将现有的可扩展字符串值修改为另一个。具体来说,我想更改默认值

HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit\command

"C:\Program Files\Adobe\Adobe Photoshop CC 2015.5\Photoshop.exe" "%1"

我可以直接在注册表编辑器中执行此操作,但是当我将其导出为 .reg 文件时,我得到了一堆十六进制无意义的内容;显然这不是很直观:

在此处输入图片描述

因此,如果我要使用替代方法(例如 PowerShell 或批处理脚本),我希望在查看代码时能够真正读取纯文本中的路径(因为我无法在 .reg 文件中读取)。

可以使用 PowerShell 或批处理脚本以保持文件路径可读的方式完成此操作吗?

答案1

使用 PowerShell 可以轻松完成此操作

New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

New-ItemProperty -Path "HKCR:\SystemFileAssociations\image\shell\edit\command" -Name "(Default)" -PropertyType ExpandString -Value '"C:\Program Files\Adobe\Adobe Photoshop CC 2015.5\Photoshop.exe" "%1"'

点击这里阅读

相关内容