Board logo

标题: [注册表类] 批处理中reg delete命令如何删除包含双引号的注册表项? [打印本页]

作者: BatCoder    时间: 2010-1-18 13:34     标题: 批处理中reg delete命令如何删除包含双引号的注册表项?

正版 WinXP SP3 Pro 简体中文系统,注册表项如下:
HKEY_CURRENT_USER\欢迎光临"批处理之家"论坛\BatHome

我想删除欢迎光临"批处理之家"论坛分支(包括它下面的所有子项和健值),由于该项名称中包含双引号,下面的命令均失败:
reg delete HKEY_CURRENT_USER\欢迎光临"批处理之家"论坛 /f
reg delete HKEY_CURRENT_USER\欢迎光临^"批处理之家^"论坛 /f
reg delete HKEY_CURRENT_USER\欢迎光临\"批处理之家\"论坛 /f
reg delete HKEY_CURRENT_USER\欢迎光临'"批处理之家'"论坛 /f
reg delete HKEY_CURRENT_USER\欢迎光临'"'批处理之家'"'论坛 /f
reg delete HKEY_CURRENT_USER\欢迎光临""批处理之家""论坛 /f
reg delete HKEY_CURRENT_USER\欢迎光临"""批处理之家"""论坛 /f
reg delete HKEY_CURRENT_USER\欢迎光临""""批处理之家""""论坛 /f

报错信息:“错误: 系统找不到指定的注册表项或值”

请大家指点一下该如何对这里的双引号进行转义。
作者: slore    时间: 2010-1-18 16:56

输出为reg文件算了。

n年前在cn-dos我第一个主题就是关于这个的。没结果所以reg2bat就搁浅了。
那个vbs版的也不支持"号的项的,键值倒是可以。
作者: Nano    时间: 2010-1-18 17:28

  1. REG DELETE "HKCU\欢迎光临"""批处理之家"""论坛" /f
复制代码
在我機器上去掉 WIN7

[ 本帖最后由 Nano 于 2010-1-18 17:46 编辑 ]
作者: Batcher    时间: 2010-1-18 22:40

估计是XP系统reg.exe的bug,在2003/Vista/Win7系统中,reg delete都可以搞定。
直接复制reg.exe到XP是不行的,可能是它们调用的dll文件不一样,如果微软能发布一个针对XP的reg.exe修正版就好了^_^
作者: batman    时间: 2010-1-20 18:03

这样呢?
reg delete /f "HKEY_CURRENT_USER\欢迎光临"批处理之家"论坛"
作者: BatCoder    时间: 2010-1-21 00:21

4楼batman的方案测试失败,这个格式不符合reg命令的语法:
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

报错信息如下:
错误: 无效项名




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