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

所属分类: 脚本专栏 / DOS/BAT 阅读数: 674
收藏 0 赞 0 分享
说明:
  不能说此脚本比驱动精灵更完美,但它确实弥补了驱动精灵的不足!
  这个版本是我先前版本上(借助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 
最新版本
更多精彩内容其他人还在看

for 语句从入门到精通

在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
收藏 0 赞 0 分享

dos 目录跳转 cd

当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
收藏 0 赞 0 分享

tree 以树形格式罗列文件

tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
收藏 0 赞 0 分享

dos 内容重定向

当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
收藏 0 赞 0 分享

执行批处理bat程序中的条件处理

一直用bat实现部分功能,对于我们仍需要控制是否满意我们的要求,下面是if帮助文档,方便查询
收藏 0 赞 0 分享

不错的批处理脚本 第一部分

非常不错的批处理脚本代码,功能比较多,用到了,很多的批处理机器
收藏 0 赞 0 分享

不错的批处理脚本实例代码 第二部分

不错的批处脚本实例代码,用到了批处理中的很多技巧与知识点,不懂得可以逐一查找相关资料
收藏 0 赞 0 分享

开机更新桌面主题的批处理代码

更新桌面主题的批处理代码
收藏 0 赞 0 分享

非常好的for 教程, 当时我就是看这个学习for 的第1/2页

批处理for命令详解 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)
收藏 0 赞 0 分享

批处理的"循环"效果脚本

曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题 个人认为是非常实用的 于是 想把这种方法推荐给大家
收藏 0 赞 0 分享
查看更多