标题: [文件操作] 求助批处理批量安装系统补丁代码更改完善 [打印本页]
作者: chwkx 时间: 2017-7-6 23:10 标题: 求助批处理批量安装系统补丁代码更改完善
本帖最后由 pcl_test 于 2017-7-7 20:53 编辑
网上批量打Windows补丁的程序为:- @echo off
- title install windows update pack
- echo 正在安装windows系统补丁,请稍等......
- for %%i in (*.exe) do %%i /passive /norestart /nobackup
- for %%f in (*.msu) do call :update %%f
- shutdown.exe -r -t 19
- exit
- :update
- echo 安装完成
- start /wait %1 /quiet /norestart
- goto :eof
- exit
复制代码
但我想实现在打第一个补丁时显示:“正在安装第1个补丁KBXXXXXX”,安装完时显示“第1个补丁KBXXXXXX安装成功”。
如此类推
也就是说需要加入计数器和读取当前运行安装的文件名
请高手不吝赐教,谢谢!!!
作者: ShowCode 时间: 2017-7-7 20:51
- @echo off
- title install windows update pack
- setlocal enabledelayedexpansion
- set n=1
- echo 正在安装windows系统补丁,请稍等......
- for %%i in (*.exe) do (
- echo 正在安装第!n!个补丁%%i
- %%i /passive /norestart /nobackup
- echo 第!n!个补丁%%i安装成功
- set /a n+=1
- )
- for %%f in (*.msu) do (
- echo 正在安装第!n!个补丁%%i
- call :update %%f
- echo 第!n!个补丁%%i安装成功
- set /a n+=1
- )
- shutdown.exe -r -t 19
- goto :eof
-
- :update
- echo 安装完成
- start /wait %1 /quiet /norestart
复制代码
作者: chwkx 时间: 2017-7-8 16:10
本帖最后由 chwkx 于 2017-7-8 16:16 编辑
经测试变量有点问题,可能是笔误,感谢“ShowCode”!!!
下面是修改后代码:- @echo off
- title install windows update pack
- setlocal enabledelayedexpansion
- set n=1
- echo 正在安装windows系统补丁,请稍等......
- for %%i in (*.exe) do (
- echo 正在安装第!n!个补丁%%i
- %%i /passive /norestart /nobackup
- echo 第!n!个补丁%%i安装成功
- set /a n+=1
- )
- for %%f in (*.msu) do (
- echo 正在安装第!n!个补丁%%f
- call :update %%f
- echo 第!n!个补丁%%f安装成功
- set /a n+=1
- )
- shutdown.exe -r -t 19
- goto :eof
-
- :update
- echo 安装完成
- start /wait %1 /quiet /norestart
复制代码
但是这个只能反应打开过某补丁,究竟安装成功没反应不出来,希大家继续完善……
作者: qazplm 时间: 2017-7-9 19:28
回复 3# chwkx
如果%errorevel%无效,可以使用systeminfo或wmic qfe get hotfixid查看补丁是否安装成功
作者: chwkx 时间: 2017-7-9 23:51
回复 4# qazplm
你这个是安装以后查看,我想要的在安装过程中显示哪些失败?那些成功?
作者: happy886rr 时间: 2017-7-10 07:19
本帖最后由 happy886rr 于 2017-7-10 09:21 编辑
- dism /online /add-package /packagepath:%CD%
复制代码
外链贴图
作者: ShowCode 时间: 2017-7-10 13:05
回复 3# chwkx
echo 正在安装第!n!个补丁%%i
%%i /passive /norestart /nobackup
REM 在这里看看环境变量errorlevel的值
echo 安装是否成功:!errorlevel!
echo 第!n!个补丁%%i安装成功
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |