我正在尝试导出注册表项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
这是有效的在批处理文件中。
regedit /e c:\temp\123.reg "HKEY_CURRENT_USER\Console\%%SystemRoot%%_system32_cmd.exe"
- 此技巧在 cmd.exe 的“普通”命令行中有效
set sr=SystemRoot
regedit /e c:\temp\123.reg "HKEY_CURRENT_USER\Console\%%sr%%_system32_cmd.exe"