
标题: [系统相关] 批处理如何实现依次静默安装多个驱动程序并在每安装完一个驱动之后重启下电脑 [打印本页]
作者: weileyiqie 时间: 2016-11-14 18:53 标题: 批处理如何实现依次静默安装多个驱动程序并在每安装完一个驱动之后重启下电脑
静默安装 重启继续
假设有5个驱动:1.exe;2.exe;3.exe...5.exe,它们的静默安装参数都是-s,现在请写一下一个批处理(或者脚本之类的)静默安装这5个驱动,要求:安装完1.exe,自动重启,然后继续安装2.exe,然后再自动重启安装3.exe,以此类推,直至最后一个驱动,最后一个驱动安装重启后弹出对话框,或者其他之类的,反正要个提示。
作者: hlzj88 时间: 2016-11-14 22:57
本帖最后由 hlzj88 于 2016-11-14 23:02 编辑
- @echo off
- if exist c:\2.txt goto anzhuang2
- if exist c:\3.txt goto anzhuang3
- if exist c:\4.txt goto anzhuang4
- if exist c:\5.txt goto anzhuang5
-
- :anzhuang1
- echo.>c:\2.txt
- 你的程序
- 重启
-
- :anzhuang2
- echo.>c:\3.txt
- del c:\2.txt
- 你的程序
- 重启
-
- :anzhuang3
- echo.>c:\4.txt
- del c:\3.txt
- 你的程序
- 重启
- :anzhuang4
- echo .>"C:\5.txt"
- del c:\4.txt
- 你的程序
- 重启
- :anzhuang5
- echo 五个安装完 本文本你要手动删除>"C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\5.txt"
- 你的程序
- del c:\5.txt
- del %0
复制代码
大致流程是这样,,放入启动里
作者: /zhqsystem/zhq 时间: 2016-11-15 02:10
本帖最后由 /zhqsystem/zhq 于 2016-11-15 02:44 编辑
- @echo off&setlocal enabledelayedexpansion
- call :drivers_install
- call :drivers_log
- set "drivers_install=y"
- goto :drivers_install
- :drivers_install
- set "drivers_path_Numbers=0"
- set "drivers_path="
- for /f "delims=" %%i in ('"type "%~f0""')do (
- set "new=%%i"
- if /i "!new:~0,2!"=="::" (rem:
- )else if /i "%%i"=="goto:eof" (set "drivers_path="
- )else if /i "%%i"=="goto :eof" (set "drivers_path="
- )else if /i "%%i"==":drivers_path" (set "drivers_path=y"
- )else (
- if defined drivers_path (
- set/a "drivers_path_Numbers+=1"
- if defined drivers_install (
- if !drivers_path_Numbers! gtr !drivers_log_Numbers! (rem:
- if defined drivers_install if "!drivers_path_Numbers!"=="!drivers_path_Numbers_backup!" (
- echo,请勿退出或断电
- echo,正在调用驱动序列: !drivers_path_Numbers!
- echo,正在调用驱动路径: %%~fi
- start/w "" "%%~fi" /s
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "%~nx0" /f
- del/q "%~dp0drivers_log.ini"
- echo,全部驱动已安装完成
- pause&shutdown /r /t 30&exit
- )else (
- echo,请勿退出或断电
- echo,正在调用驱动序列: !drivers_path_Numbers!
- echo,正在调用驱动路径: %%~fi
- start/w "" "%%~fi" /s
- (echo,!drivers_path_Numbers!)>"%~dp0drivers_log.ini"
- reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "%~nx0" /t reg_sz /d "%~f0" /f
- shutdown /r /t 30&exit
- )
- )
- )else (
- set "drivers_path_Numbers_backup=!drivers_path_Numbers!"
- )
- )
- )
- )
- goto:eof
- :drivers_log
- set "drivers_log_Numbers="
- if not exist "%~dp0drivers_log.ini" (echo,0)>"%~dp0drivers_log.ini"
- set/p drivers_log_Numbers=<"%~dp0drivers_log.ini"
- goto:eof
- :drivers_path
- ::此处以下为驱动程序完整路径不写引号,此行可以不删
复制代码
作者: weileyiqie 时间: 2016-11-15 20:28
回复 3# /zhqsystem/zhq
感谢大神的回复,其中我有大概十几个驱动要安装,重装系统的时候一个个手点比较麻烦,所以想到这个问题。本人小白,感谢!
然后再问下,如果这些驱动的静默安装参数不相同怎么办?
作者: /zhqsystem/zhq 时间: 2016-11-15 22:28
本帖最后由 /zhqsystem/zhq 于 2016-11-15 22:30 编辑
回复 4# weileyiqie
改变执行代码和对应参数为 "路径" 参数
去除startt改用 %%i
驱动一起安装不重启也没事主要是注意顺序
作者: weileyiqie 时间: 2016-11-16 17:56
回复 5# /zhqsystem/zhq
好高深的样子,大神可以一下子改好了让我copy一下子么
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |