标题: 如何用VBS将同一路径下的注册表文件导入系统 [打印本页]
作者: willsion 时间: 2009-1-14 09:04 标题: 如何用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 编辑 ]
作者: rat 时间: 2009-1-14 22:48
CreateObject("WScript.Shell").Run "regedit /s temp.reg"
作者: willsion 时间: 2009-1-16 13:12
原帖由 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所在路径的语句才行。
作者: 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有很多导入注册表文件方法
1:rundll32.exe *.inf
2:直接用vbs写注册表
3:SVCPACK.inf 预设
4:WINNT.SIF 预设
作者: willsion 时间: 2009-1-19 09:41
原帖由 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写注册表太复杂了。
作者: willsion 时间: 2009-1-20 11:36
算了,考虑来考虑去,感觉还是用inf方便些。
谢谢各位朋友。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |