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

如何用VBS将同一路径下的注册表文件导入系统

本人希望在安装Windows XP过程中,在T-12阶段采用SVCPACK的方式,运行一个vbs文件,将同位于SVCPACK下的一个注册表文件导入到系统。哪位各位大侠能帮忙编写一个vbs程序(不希望用CMD批处理,因为安装时会出现黑框窗口)。
谢谢。

附上CMD的批处理:

set a="%cd%"
for %%a in (%a%) do set b=%%~da
for %%b in (%a%) do set c=%%~npb
regedit.exe /s "%c%\temp.reg"

[ 本帖最后由 willsion 于 2009-1-14 09:11 编辑 ]

CreateObject("WScript.Shell").Run "regedit /s temp.reg"

TOP

原帖由 rat 于 2009-1-14 22:48 发表
CreateObject("WScript.Shell").Run "regedit /s temp.reg"


谢谢。不过有个问题,假设当前的目录的是C:\,而本vbs文件(假设为22.vbs)放在c:\temp
则如下的命令行不能得到预期的效果:C:\>C:\temp\22.vbs,也就是说,假设当前目录跟22.vbs所在目录不一样时,并不能将该注册表文件导入系统中,需要在22.vbs文件中加入将当前路径设为22.vbs所在路径的语句才行。

TOP

先说清楚你所说的当前目录是vbs脚本文件的当前目录,还是reg所在目录
  1. WScript.echo Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
  2. WScript.echo Left(WScript.ScriptFullName,3)
复制代码
要封装Windows XP有很多导入注册表文件方法
1:rundll32.exe *.inf
2:直接用vbs写注册表
3:SVCPACK.inf 预设
4:WINNT.SIF 预设

TOP

原帖由 fastslz 于 2009-1-16 18:02 发表
先说清楚你所说的当前目录是vbs脚本文件的当前目录,还是reg所在目录WScript.echo Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
WScript.echo Left(WScript.ScriptFullName,3 ...


多谢回复!

我所说的当前目录是指Windows XP安装时系统设置的目录,猜想其目录应该不会转为系统安装盘SVCPACK了。我的思路是将vbs和reg文件一起放在光盘SVCPACK目录中,安装系统时,安装程序通过svcpack.inf运行该vbs文件,达到导入reg的目的。

另外,由于注册表文件注册项较多,单纯用vbs写注册表太复杂了。

TOP

算了,考虑来考虑去,感觉还是用inf方便些。


谢谢各位朋友。

TOP

返回列表