Board logo

标题: [文本处理] [已解决]使用reg add 时 %SystemRoot%怎样能不转义 [打印本页]

作者: wgf4242    时间: 2017-9-24 17:23     标题: [已解决]使用reg add 时 %SystemRoot%怎样能不转义

本帖最后由 wgf4242 于 2017-9-26 01:22 编辑

我试了以下几种

reg add "HKEY_CURRENT_USER\Console\^%SystemRoot^%_system32_cmd.exe" /v "CodePage" /t reg_dword /d 0xfde9
reg add "HKEY_CURRENT_USER\Console\%%SystemRoot%%_system32_cmd.exe" /v "CodePage" /t reg_dword /d 0xfde9

都不行。(我这个案例。去掉双引号用第一个方式就行了,但如果双引号之间有空格。。那么~~~还是需要解决一下)


[已解决]感谢6楼 slore
作者: 窄口牛    时间: 2017-9-24 19:06

本帖最后由 窄口牛 于 2017-9-25 07:41 编辑

好奇怪的注册表操作,这个是起什么作用的?
作者: wgf4242    时间: 2017-9-25 10:53

回复 2# 窄口牛


    将cmd代码页设置成utf8.
作者: 窄口牛    时间: 2017-9-25 11:21

这么神奇?那这个不对吧,键名是路径吧,就不应该是下划线吧?注册表应该是
啥样的?
作者: slore    时间: 2017-9-25 11:54

回复 4# 窄口牛


    如果不是下划线,而是反斜杠,无法区分是文件路径,还是注册表项的路径。

reg add "HKEY_CURRENT_USER\Console\%SystemRoot%\system32\cmd.exe"
作者: slore    时间: 2017-9-25 12:02

回复 1# wgf4242


    reg add "HKEY_CURRENT_USER\Console\%%SystemRoot%%_system32_cmd.exe" /v "CodePage" /t reg_dword /d 0xfde9

这个保存为bat文件的话,是对的。
你说试了不行,是cmd命令提示符直接输入吧。

这样的话,方法有几个。
1.
  1. set char100=%
  2. reg add "HKEY_CURRENT_USER\Console\%char100%SystemRoot%char100%_system32_cmd.exe" /v "CodePage" /t reg_dword /d 0xfde9
复制代码
2.
  1. set org_sr=%SystemRoot%
  2. set SystemRoot=
  3. reg add "HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe" /v "CodePage" /t reg_dword /d 0xfde9
  4. set SystemRoot=%org_sr%
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2