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

[注册表类] 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手动执行这两条命令的时候能够成功执行。如下图:

找了好多资料了,实在不明白是什么原因造成的,求高手解答一下,不胜感激。
1

评分人数

权限

TOP

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

TOP

这样呢
  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}"
复制代码
1

评分人数

TOP

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

TOP

回复 5# 睡在路边

4楼的就是批处理代码

TOP

谢谢,我刚试了一下,可以。

TOP

/t REG_SZ  参数是多余的

TOP

返回列表