[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]使用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-25 07:41 编辑

好奇怪的注册表操作,这个是起什么作用的?

TOP

回复 2# 窄口牛


    将cmd代码页设置成utf8.

TOP

这么神奇?那这个不对吧,键名是路径吧,就不应该是下划线吧?注册表应该是
啥样的?

TOP

回复 4# 窄口牛


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

reg add "HKEY_CURRENT_USER\Console\%SystemRoot%\system32\cmd.exe"

TOP

回复 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%
复制代码

TOP

返回列表