如何使用 regedit 从 cmd.exe 导出 HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe?

如何使用 regedit 从 cmd.exe 导出 HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe?

我正在尝试导出注册表项HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe但无法执行,可能是因为百分号。

我尝试使用插入符号或另一个%符号来转义%符号,但这没有帮助:

regedit /e c:\temp\cmd.reg "HKEY_CURRENT_USER\Console\%%SystemRoot%%_system32_cmd.exe"

regedit /e c:\temp\cmd.reg "HKEY_CURRENT_USER\Console\^%SystemRoot^%_system32_cmd.exe"

那么,有没有办法可以实现我想要的效果呢?

编辑按照Ярослав Рахматуллин's评论:关键精确的字符串,带有百分号。所以我不需要%SystemRoot%展开,而是传递给 regedit照原样

答案1

  1. 在批处理文件中使用百分号 (%) 需要指定两个百分号 (%%)。

这是有效的在批处理文件中

regedit /e c:\temp\123.reg "HKEY_CURRENT_USER\Console\%%SystemRoot%%_system32_cmd.exe"
  1. 此技巧在 cmd.exe 的“普通”命令行中有效
set sr=SystemRoot
regedit /e c:\temp\123.reg "HKEY_CURRENT_USER\Console\%%sr%%_system32_cmd.exe"

相关内容