纯脚本备份_还原驱动增强版附相关sleep.exe

 更新时间:2008年06月27日 09:43:26   转载 作者:  
不能说此脚本比驱动精灵更完美,但它确实弥补了驱动精灵的不足! 这个版本是我先前版本上(借助DevCon纯脚本备份驱动)增强的,已经是完美版本了。
说明:
  不能说此脚本比驱动精灵更完美,但它确实弥补了驱动精灵的不足!
  这个版本是我先前版本上(借助DevCon纯脚本备份驱动)增强的,已经是完美版本了。

1、支持备份完整的WHQL数字签名(我手头的驱动精灵 2005专业版就不支持)。
2、智能判断系统中已安装的驱动程序,且只备份用户自行安装的驱动,若该设备包含WHQL数字签名则打印信息。
3、支持驱动文件打包存放,双击单个以设备名命名的.EXE自解压方式还原驱动,还原驱动就如此轻松。
4、支持宁静默方式外挂安装更新驱动,方便系统集成、Ghost用户调用。
5、兼容驱动精灵已备份的项目,也就是说运行一下脚本就还原驱动精灵曾经备份的项目。
  还原方法将DevUpdate.Cmd Tools 放在精灵已备份驱动文件目录里,运行DevUpdate.Cmd
6、源代码公开化没作任何加密,只要你也略懂脚本完全自行修改达到自己的所需!不要改头换面就好;-)
  
  
补充说明:
EXE自解压还原驱动自动应答参数 -y 如:"D:\Dev\NVIDIA GeForce4 MX MX 400.exe" -y
打包集成的NVIDIA GeForce4 MX MX 400.exe只限在本机上还原更新,我不保证其能在所有的NVIDIA GeForce4系列显卡上正常使用,因为每一机子的硬件ID并不完全相同。
此版不在支持Win2000,Win2000用户可以考虑使用先前的版本来备份,Vista下本人没有测试条件,所以...
好了我也不贴N多图文说明了,一句话备份还原驱动简单再简单,菜鸟、高手都适用^_^

子程序说明
Devcon.exe    微软代替设备管理器命令行实用工具
Devcon_64.exe    微软代替设备管理器命令行实用工具64 Bit
Sleep.exe    用于批处理暂停或等待用户按一个键
Update.cmd    更新设备驱动代码
Dev.sfx        用于制作集成驱动的自解压模块
7za.exe        本人汉化的7-zip命令行独立版压缩工具(此版依赖DLL库)

任何建议和意见及BUG递交欢迎访问以下地址
[原创]借助DevCon纯脚本备份驱动

dev.vbs
复制代码 代码如下:

On Error Resume Next
Set aArgs=WScript.Arguments
if aArgs.Count=0 Then MsgBox "请运行 DevBackup.Cmd 开始备份驱动!    ",64,"BY: fastslz":Wscript.Quit
Set Fso = CreateObject("Scripting.FileSystemObject")
Set aNet = CreateObject("Wscript.Network")
strComputer = aNet.ComputerName:aUser = aNet.UserName:aErr = "0"
Set aGroup = GetObject("WinNT://" & strComputer & "/Administrators")
For Each aUsers in aGroup.Members
    If aUsers.Name = aUser Then aErr= "1"
Next
Set WMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set aItems = WMI.ExecQuery("Select * from Win32_PnPSignedDriver")
If aErr = 0 Then MsgBox "本程序必须以系统管理员身份运行    ",4160,"提示":Wscript.Echo "1":Wscript.Quit
if aItems.Count=0 Then MsgBox "WMI 组件运行库出错,WinXP精简版Win2000系统会出现此状况    ",4160,"提示":Wscript.Echo "2":Wscript.Quit
Path = Left(Wscript.ScriptFullName,Len(Wscript.ScriptFullName)-Len(Wscript.ScriptName))
BakPath = Path&"Drivers\"
If Fso.FolderExists(BakPath)=False Then Fso.CreateFolder(BakPath)

For Each aItem in aItems
    If Instr(aItem.InfName,Chr(111)&Chr(101)&Chr(109)) > 0 Then
        DevName = Replace(aItem.DeviceName, "/", " ")
        DevName = Replace(DevName, "\", " ")
        DevName = Replace(DevName, "*", " ")
        DevName = Replace(DevName, "?", " ")
        DevName = Replace(DevName, "|", " ")
        DevName = Replace(DevName, ">", " ")
        DevName = Replace(DevName, "<", " ")
        If Fso.FolderExists(BakPath&DevName)=False Then Fso.CreateFolder(BakPath&DevName)
        Set NfoFile = Fso.OpenTextFile(BakPath & DevName & "\Driver.nfo",2,True)
        NfoFile.WriteLine "DeviceName=" & aItem.DeviceName
        NfoFile.WriteLine "HardWareID=" & aItem.HardWareID
        NfoFile.WriteLine "InfName=" & aItem.InfName
        NfoFile.Close
        Wscript.Echo aItem.DeviceName & "n" & aItem.HardWareID & "n" _
                    & BakPath&DevName & "n" & aItem.InfName
    End If
Next

Dev2008-7-4.rar 
最新版本

相关文章

最新评论