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

[文本处理] [分享]批处理中reg命令基础:添加注册表项

  1. reg add  "HKEY_CLASSES_ROOT\*\shell\open\command" /v ""  /d  "notepad.exe %1" /t REG_SZ /f  
  2. pause
复制代码
我想问下为什么reg add在执行这条命令后
修改的值并不能变成notepad %1
而变成了notepad  郁闷
为什么后面的 %1 不见了呢?
难道必须通过手动方式进行修改注册表吗?
有没有更好的方法解决这个问题呢?

相干资料参考。

http://hi.baidu.com/jasonxfocus/blog/item/ccef6ad96d41963d32fa1c0a.html
我想把这个用批处理使先,但总是实现失败。。

该成了notepad.exe  但不能使它成为notepad.exe %1我的目的是把它该成notepad %1 而不是notepad.exe
难道reg add  命令在修改注册表的时候要注意什么? 如果我想把某一个值修改成诸如 notepad %1
总是失败,究竟该怎么做呢?还请各位给个参考,今天发现这个问题,实在很奇怪
故拿来和大家一起探讨下,本人还是初级中的初级才鸟。


如果改成   /d "notepad.exe %%1 便可以了。。

感谢一下批处理之家的chenyun1zz 、润土等同志的好心,
谢谢。

  1. reg add  "HKEY_CLASSES_ROOT\*\shell\open\command" /v ""  /d  "notepad.exe %%1" /t REG_SZ /f  
  2. pause
复制代码


解释一下  

/v  意思是 键名 后面跟键门,我这里特别提醒一下 如果没有键名,就是说你改的是默认值的话,这里就 写成reg add /v "" 这个很重要

/d 具体键值,就是说你要把它到底改成什么呢?就改成这样的 。把它的值改成notepad %1

/f  表示强制执行

/t 数据类型,比如:字符串、数值等

我为什么要 在hkey root class 下建立个*\shell\open\command呢?
并把它值为notepad %1 呢?
这样,对于特殊文件,打不开可以用双击直接打开
对于很多*.dll文件 等其他文件都可以才用此方法打开。

tireless 兄,刚才提醒了一点,现在我加上去

/ve  可以完全替代 /v ""  看来我还是没有仔细看 reg add /?这个命令啊
仔细,仔细再仔细的学习学习一下。。
1

评分人数

    • tireless: 覆盖open\command的方法不错!PB + 5

回复 3楼 的帖子

你的注册表也改下,成为 批处理格式的,比较快啊
我再看看代码,把它该下。。

TOP

回复 3楼 的帖子

代码终于搞好
  1. reg add "HKEY_CLASSES_ROOT\*\shell" /ve /d notepad /f /t REG_SZ
  2. reg add "HKEY_CLASSES_ROOT\*\shell\notepad" /ve /d 用记事本打开 /f /t REG_SZ
  3. reg add "HKEY_CLASSES_ROOT\*\shell\notepad\command" /ve /d "notepad.exe %%1" /t REG_SZ   /f
  4. pause
复制代码


这个操作成功后,可以用记事本右键打开文件,很好。不错。

TOP

回复 6楼 的帖子

你的这个貌似不是批处理吧,是注册表嘛

必须是reg格式的吧。。
如国该成 ***.cmd  运行后就闪了下,就没有了,故你的这个跟三楼的是一样的

TOP

返回列表