
BAT安装系统补丁怎么显示进度条。 如我要安装100个补丁,怎么显示当前安装进度时间和数目。
BAT安装系统补丁怎么显示进度条。如我要安装100个补丁,怎么显示当前安装进度时间和数目。如:start/waithotfix\WindowsXP-KB952287-x8...
BAT安装系统补丁怎么显示进度条。
如我要安装100个补丁,怎么显示当前安装进度时间和数目。
如:
start /wait hotfix\WindowsXP-KB952287-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951830-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB950762-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951748-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951978-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB932716-v2-x86-CHS.exe /u /q /z
我要批处理安装这些补丁。但是安装的时候都是静默的,不知道他们什么时候才安装完成。我怎么做才能显示出他们的安装进度。在窗口上显示当前进度百分之几或者还剩下几个文件。等等。网友有很大进度条代码。可都是说进度条的。都没一个说结合安装程序一起。光有代码没有啊。我该怎么把进度条添加到这上面去。
比如这个进度条代码:
@echo off
:: 模拟进度,有剩余时间、已完成进度、进度条的显示
:: code by Macdef 2009-04-11
color 1f
title.
mode con lines=10
rem 进度条 ▉▉▉▉▉
set work=0
set n=0
set mo=0
set number=0
rem all是总数
set all=100
set time=%all%
:show
:check
if %number% GTR %mo% set num=%num%▉&set /a mo=%mo%+1&goto check
:2
cls
echo 进度: %n% / %all% 剩余时间:%time%秒
echo.
echo.
echo 完成 %work% %%%
echo.
if not "%num%"=="" echo %num%
if not "%num%"=="" echo %num%
if %work%==100 goto end
ping 127.1 -n 1 >nul
set /a n=%n%+1
set /a time=%all%-%n%
set /a work=(%n%)*100/(%all%)
set /a number=%work%/3
set /a number=%number%+1
goto show
endlocal
:end
endlocal
pause>nul
exit
@echo off
:: code by Macdef 2009-04-11
set var=">"
set/p=正在加载: <nul
ping -n 2 127.1>nul
for /l %%i in (1,1,20) do (
set/p=%var%<nul
ping -n 2 127.1>nul
)
echo.
echo.
pause
那我的代码
start /wait hotfix\WindowsXP-KB952287-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951830-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB950762-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951748-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951978-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB932716-v2-x86-CHS.exe /u /q /z
应该添加在那里才行啊。请各位高手指点。
或是我要执行这样一个代码:
:IE8
cls
start hotfix\IE8-WindowsXP-x86-CHS.exe
goto :start
哪这些代码应该添加在进度条的那一行呢。 展开
如我要安装100个补丁,怎么显示当前安装进度时间和数目。
如:
start /wait hotfix\WindowsXP-KB952287-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951830-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB950762-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951748-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951978-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB932716-v2-x86-CHS.exe /u /q /z
我要批处理安装这些补丁。但是安装的时候都是静默的,不知道他们什么时候才安装完成。我怎么做才能显示出他们的安装进度。在窗口上显示当前进度百分之几或者还剩下几个文件。等等。网友有很大进度条代码。可都是说进度条的。都没一个说结合安装程序一起。光有代码没有啊。我该怎么把进度条添加到这上面去。
比如这个进度条代码:
@echo off
:: 模拟进度,有剩余时间、已完成进度、进度条的显示
:: code by Macdef 2009-04-11
color 1f
title.
mode con lines=10
rem 进度条 ▉▉▉▉▉
set work=0
set n=0
set mo=0
set number=0
rem all是总数
set all=100
set time=%all%
:show
:check
if %number% GTR %mo% set num=%num%▉&set /a mo=%mo%+1&goto check
:2
cls
echo 进度: %n% / %all% 剩余时间:%time%秒
echo.
echo.
echo 完成 %work% %%%
echo.
if not "%num%"=="" echo %num%
if not "%num%"=="" echo %num%
if %work%==100 goto end
ping 127.1 -n 1 >nul
set /a n=%n%+1
set /a time=%all%-%n%
set /a work=(%n%)*100/(%all%)
set /a number=%work%/3
set /a number=%number%+1
goto show
endlocal
:end
endlocal
pause>nul
exit
@echo off
:: code by Macdef 2009-04-11
set var=">"
set/p=正在加载: <nul
ping -n 2 127.1>nul
for /l %%i in (1,1,20) do (
set/p=%var%<nul
ping -n 2 127.1>nul
)
echo.
echo.
pause
那我的代码
start /wait hotfix\WindowsXP-KB952287-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951830-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB950762-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951748-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB951978-x86-CHS.exe /u /q /z
start /wait hotfix\WindowsXP-KB932716-v2-x86-CHS.exe /u /q /z
应该添加在那里才行啊。请各位高手指点。
或是我要执行这样一个代码:
:IE8
cls
start hotfix\IE8-WindowsXP-x86-CHS.exe
goto :start
哪这些代码应该添加在进度条的那一行呢。 展开
展开全部
貌似你需要修改好几个地方。
先用 for /f %%s in ('dir /b /s /a-d *.exe ^| find /v /c ""') do set all=%%s 替换 set all=100 这行(总文件数), 再把下面内容替换(用 FOR命令执行每一个 补丁程序,并实时更新下面的参数):
ping 127.1 -n 1 >nul
set /a n=%n%+1
set /a time=%all%-%n%
set /a work=(%n%)*100/(%all%)
set /a number=%work%/3
set /a number=%number%+1
可以参考 http://zhidao.baidu.com/question/398391707.html?oldq=1
另外,剩余时间感觉没什么参考价值吧?可以去掉,另外可以显示正在运行的补丁程序名(用 Title 可以显示在窗口TITLE上,或者在CMD窗口里面显示--最底一行)
这个问题我也有兴趣,找时间我也会研究研究。
先用 for /f %%s in ('dir /b /s /a-d *.exe ^| find /v /c ""') do set all=%%s 替换 set all=100 这行(总文件数), 再把下面内容替换(用 FOR命令执行每一个 补丁程序,并实时更新下面的参数):
ping 127.1 -n 1 >nul
set /a n=%n%+1
set /a time=%all%-%n%
set /a work=(%n%)*100/(%all%)
set /a number=%work%/3
set /a number=%number%+1
可以参考 http://zhidao.baidu.com/question/398391707.html?oldq=1
另外,剩余时间感觉没什么参考价值吧?可以去掉,另外可以显示正在运行的补丁程序名(用 Title 可以显示在窗口TITLE上,或者在CMD窗口里面显示--最底一行)
这个问题我也有兴趣,找时间我也会研究研究。
展开全部
用着进度条了么?直接在最后一行写一个
start 音乐文件
start 音乐文件
追问
怎么把我要按照补丁的代码添加到进度条中,这样才能显示安装进度啊。
追答
@echo off
:: 模拟进度,有剩余时间、已完成进度、进度条的显示
:: code by bg 2006-10-8 CMD@XP
color 1f
title.
mode con lines=10
rem 进度条 ▉▉▉▉▉
set work=0
set n=0
set mo=0
set number=0
rem all是总数
set all=60
set time=%all%
:show
:check
if %number% GTR %mo% set num=%num%▉&set /a mo=%mo%+1&goto check
:2
cls
echo 进度: %n% / %all% 剩余时间:%time%秒
echo.
echo.
echo 完成 %work% %%%
echo.
if not "%num%"=="" echo %num%
if not "%num%"=="" echo %num%
if %work%==100 goto end
ping 127.1 -n 1 >nul
set /a n=%n%+1
set /a time=%all%-%n%
set /a work=(%n%)*100/(%all%)
set /a number=%work%/3
set /a number=%number%+1
goto show
endlocal
:end
endlocal
pause>nul
exit
@echo off
:: code by jm 2006-11-30 CMD@XP
set var=">"
set/p=正在加载: nul
for /l %%i in (1,1,20) do (
set/p=%var%nul
)
echo.
echo.
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询