当前位置: 移动技术网 > IT编程>网络>Dos/Bat > 纯脚本备份_还原驱动增强版附相关sleep.exe

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

2017年12月12日  | 移动技术网IT编程  | 我要评论
说明:
  不能说此脚本比驱动精灵更完美,但它确实弥补了驱动精灵的不足!
  这个版本是我先前版本上(借助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

 
最新版本

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网