Board logo

标题: [注册表类] reg add无法正常添加注册表项是什么原因? [打印本页]

作者: 睡在路边    时间: 2016-4-3 12:13     标题: reg add无法正常添加注册表项是什么原因?

我在网上找了清理桌面右键菜单的批处理。命令如下
  1. echo 清理桌面右键菜单
  2. reg delete HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers /f
  3. reg add "HKCR\Directory\Background\shellex\ContextMenuHandlers\New" /ve /t REG_SZ /d "{D969A300-E7FF-11d0-A93B-00A0C90F2719}" /f
复制代码
做成批处理执行的时候发现reg add这条命令(添加新建项)无法正常执行。会出现如下图卡死的情况,检查注册表也没有成功执行,注册表中显示还是空值。

我问过度娘了,发现命令应该是没问题的,而且我也测试了一下,进行CMD手动执行这两条命令的时候能够成功执行。如下图:

找了好多资料了,实在不明白是什么原因造成的,求高手解答一下,不胜感激。
作者: pcl_test    时间: 2016-4-3 12:23

权限
作者: 睡在路边    时间: 2016-4-3 12:29

感谢你的指导,版主的解答简明扼要,但我新手一个,还不太明白,还希望你能再详细指点一下。
是在注册表中手动去添加这个权限吗?还是我运行批处理的时候用“管理员的身份运行”?这两种办法我都试过了,不行。
作者: pcl_test    时间: 2016-4-3 12:44

这样呢
  1. Windows Registry Editor Version 5.00
  2. ;cls&@echo off
  3. ;regedit /s "%~f0"
  4. ;echo;导入完成&ping -n 3 0 >nul&exit/b
  5. [HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\New]
  6. @="{D969A300-E7FF-11d0-A93B-00A0C90F2719}"
复制代码

作者: 睡在路边    时间: 2016-4-3 12:54

谢谢你,你给了一个注册表文件,这种方案我有考虑过,之前已封装到系统中。
但我现在就是不知道用批处理怎么把这个东西写进注册表,才来这里找高手学习的。
刚经过你的指点,我一直在找权限的问题,我也发现了,手动CMD的时候,前面有“管理员”的标识。正在度娘,还没有找到答案。
作者: pcl_test    时间: 2016-4-3 12:58

回复 5# 睡在路边

4楼的就是批处理代码
作者: 睡在路边    时间: 2016-4-3 13:08

谢谢,我刚试了一下,可以。
作者: 522235677    时间: 2016-4-4 09:15

/t REG_SZ  参数是多余的




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