无忧启动论坛

标题: 用批处理导入.reg文件,大家为什么多用 regedit命令呢?而不用REG IMPORT [打印本页]

作者: moran    时间: 2015-12-12 09:58
标题: 用批处理导入.reg文件,大家为什么多用 regedit命令呢?而不用REG IMPORT

如题,我看基本上所有的批处理包括我自己写的批处理,导入.reg文件多是用的:

regedit /s命令。

具体 regedit /s命令,和 REG IMPORT命令有什么区别吗?

另外 REG IMPORT命令有什么缺陷吗?我在CMD窗口运行似乎没发现什么问题。
作者: lbw2007    时间: 2015-12-12 14:20
2011frg521 发表于 2015-12-12 10:44
因为regedit最精简的系统也基本会有,reg就不一定有了

一语道破
作者: moran    时间: 2015-12-12 15:33
lbw2007 发表于 2015-12-12 14:20
一语道破

好吧,原来是这个原因。
作者: wylgogogo    时间: 2015-12-12 23:51
     我今天才知道有这个命令。我汗。
作者: 9zhmke    时间: 2015-12-13 13:50
还有个原因:reg在批处理中多处单个使用(非导入型)的话,效率比regedit /s效率低很多。
作者: 807979023    时间: 2015-12-13 15:59
本帖最后由 807979023 于 2015-12-19 17:14 编辑

reg在批处理中还是有优点的,可以使用变量,如%SystemRoot%

regedit /s导入的注册表中不可以使用变量。


作者: 807979023    时间: 2015-12-19 17:16
本帖最后由 807979023 于 2015-12-19 19:24 编辑

对不起,以上沒有说清楚,更正如下:

reg 在批处理中,可以使用变量,如%ProgramFiles%
运行后,注册表中实际转换为c:\Program Files
以下语句能正常执行:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"查宽带"="C:\\Program Files\\查宽带\\查宽带.vbs"

regedit /s 导入的注册表中可以使用变量,如%ProgramFiles%
但导入后,注册表中实际仍为%ProgramFiles%
以下语句不能执行:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"查宽带"="%ProgramFiles%\\查宽带\\查宽带.vbs"

注册表中某些不需要转换变量的地方,又只能用regedit /s 导入
如修改cmd窗口位置大小的1个注册表项是:
[HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe]
如果用reg add ... ,%SystemRoot%转换为c:\windows后,则不能执行

作者: moran    时间: 2015-12-20 12:46
感谢大家的讨论,学习了。

作者: 807979023    时间: 2015-12-21 12:21
本帖最后由 807979023 于 2015-12-21 16:34 编辑

认真学习,我不再"起哄"。

1楼点评应该是(xp):
reg add "HKCU\Console\%%SystemRoot%%_system32_cmd.exe" /v "..." /t ... /d ... /f
作者: x9tian    时间: 2016-1-3 10:30
807979023 发表于 2015-12-19 17:16
对不起,以上沒有说清楚,更正如下:

reg 在批处理中,可以使用变量,如%ProgramFiles%

那是你用的是默认的REG /D
变量数据的应用要用想对应的 懂?
作者: 一代宗师    时间: 2016-1-3 16:54
学习一下
作者: mfkwgij    时间: 2016-1-3 17:36
我也来学习一下了!




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3