楼 主
[求助][完美解决]高手可以帮我加上进度吗?
发表于 2008-05-24 14:16 · 中国 浙江 台州 电信
初级用户
★
积分 76 发帖 34 注册 2008-05-10 16:18 18年会员 UID 118340 性别 男
状态 离线
zw19750516和26933062两位高手终于帮我搞成了,
a.ini配置文件重新生成一个bat文件,文件里只有我需要的命令,再运行这个bat文件。
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (a.ini) do (
set "str=%%i"
if "!str:~,3!"=="命令行" (
set str=!str:~4!
echo load.exe !str:%%=%%%%!>>b.bat
)
)
echo exit>>b.bat
start "" "b.bat"
能不能在b.bat执行时不显示运行的命令,再弄个进度条因为里面的任务有多有少
想知道当前总共读取了几条,执行了几条,还剩几条。
给你参考的a.ini原文件,内容如下,
网络目录=D:\AUTO-SYS
本地目录=C:\游戏
运行游戏=
启动参数=
导注册表=
预先执行=
预先执行参数=
忽略时间误差=3
排除文件=
排除目录=
弹出更新选择窗口=否
是否删除多余文件=否
对比大小=是
对比时间=是
命令行="%01 ....." "%02D:\AUTO-SYS\" "%03C:\游戏\" "%04" "%05" "%06" "%07" "%08" "%09" "%10E:\测试中\讯闪调用工具v1.3\load\pic\游戏.jpg" "%11" "%12" "%133" "%140" "%151" "%18skin0383.skn" "%201" "%211"
[ Last edited by snmm2004 on 2008-5-24 at 04:56 PM ]
第 2 楼
发表于 2008-05-24 14:50 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
echo @echo off>b.bat
for /f "delims=" %%i in (a.ini) do (
set "str=%%i"
if "!str:~,3!"=="命令行" (
set str=!str:~4!
echo load.exe !str:%%=%%%%!>>b.bat
set /a n+=1
echo cls>>b.bat
echo echo 正在运行第!n!条命令>>b.bat
echo ping /n 2 127.1^>nul>>b.bat
)
)
echo exit>>b.bat
start "" "b.bat"
ps:批处理加进度条是加不上的,楼主先凑合用用我这个吧。
[
Last edited by zw19750516 on 2008-5-24 at 03:08 PM ]
批处理之家新域名:www.bathome.net
第 3 楼
发表于 2008-05-24 15:06 · 中国 浙江 台州 电信
初级用户
★
积分 76 发帖 34 注册 2008-05-10 16:18 18年会员 UID 118340 性别 男
状态 离线
当前第几条显示出来了,总条数没有显示
[ Last edited by snmm2004 on 2008-5-24 at 03:10 PM ]
第 4 楼
可以类似这样%比就完美了,参考如下
发表于 2008-05-24 15:21 · 中国 浙江 台州 电信
初级用户
★
积分 76 发帖 34 注册 2008-05-10 16:18 18年会员 UID 118340 性别 男
状态 离线
用BAT批量更新Windows补丁程序(显示更新进度)
将要更新的补丁文件全部下载到同一个文件夹中,然后用记事本建立以下两个DOS批处理文件也放入这个文件夹中:
一、install.bat 内容如下
:: install.bat
@ECHO OFF
COLOR fc
set /a pCount = 0
set /a aPatch = 0
CLS
:: 初始化
for %%i in (*.exe) do set /a pCount +=1
:: 统计补丁总个数
if %pCount% == 0 goto NotFound
ECHO.
ECHO 准备安装 Windows Update 补丁程序
ECHO.
ECHO.
for %%i in (*.exe) do set /a aPatch += 1 & CALL exec.bat %%i
:: 循环更新补丁
ECHO.
ECHO.
set /p YorN= 补丁已经安装完毕,是否重启系统?[Y/N]
if /i "%YorN%" == "Y" goto Reboot
:: 提示重启
Exit
:Reboot
ShutDown -r -t 0
:: 重启系统,等待时间 0 秒
:NotFound
ECHO.
ECHO 在该文件夹中没有发现补丁文件!
ECHO.
ECHO.
PAUSE
二、exec.bat 内容如下
:: exec.bat
@ECHO OFF
ECHO.
ECHO 正在更新:%1(第%aPatch%个,共%pCount%个)
:: 显示补丁进度
START /Wait %1 /passive /norestart /o
:: 更新补丁
:: /passive 无人参与模式(仅显示进度栏)
:: /norestart 安装完成后不要重新启动
:: /o 不提示覆盖 OEM 文件
ECHO 完成!
三、要更新时,运行 install.bat 即可。
四、如果以后又有新的补丁,只需将新的补丁程序保存到该文件夹中即可,而不需更改这两个BAT文件。
第 5 楼
发表于 2008-05-24 15:27 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
Originally posted by snmm2004 at 2008-5-24 15:21:
用BAT批量更新Windows补丁程序(显示更新进度)
将要更新的补丁文件全部下载到同一个文件夹中,然后用记事本建立以下两个DOS批处理文件也放入这 ...
兄弟不是要我写个完整的软件给你吧。。。
批处理之家新域名:www.bathome.net
第 6 楼
发表于 2008-05-24 15:48 · 中国 浙江 台州 电信
初级用户
★
积分 76 发帖 34 注册 2008-05-10 16:18 18年会员 UID 118340 性别 男
状态 离线
我的意思是,读取的总条数可以显示的话就可以了,上面这个我说的意思是类似
呵呵,如果可以改进的话帮我一下,如果有难度这样也可以了,太感谢了
[ Last edited by snmm2004 on 2008-5-24 at 03:52 PM ]
第 7 楼
我日,终于写出来了:
发表于 2008-05-24 16:30 · 中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105 发帖 1,276 注册 2008-03-08 13:00 18年会员 UID 112398 性别 男
状态 离线
请楼主别再说不行了,下面代码实现的功能,楼主想要的基本都有了。
@echo off&setlocal enabledelayedexpansion
set tu=■
for /f "delims=" %%i in (a.ini) do (
set "str=%%i"
if "!str:~,3!"=="命令行" (
set str=!str:~4!
echo load.exe !str:%%=%%%%!>>temp.txt
set /a n+=1
)
)
set m=%n%&set n=0
echo @echo off^&mode con lines=10^&color 1f>a.bat
for /f "delims=" %%i in (temp.txt) do (
echo %%i>>a.bat&set /a n+=1,pate=100*n/m
call :lp
echo cls>>a.bat
echo echo !code!!pate!%%%%>>a.bat
echo echo 总共%m%条命令,正在运行第!n!条命令。>>a.bat
echo ping /n 2 127.1^>nul>>a.bat
set code=
)
del /q temp.txt
echo exit>>a.bat
start "" "a.bat"
goto :eof
:lp
for /l %%a in (1,1,%n%) do set code=!code!%tu%
[
Last edited by zw19750516 on 2008-5-24 at 04:47 PM ]
批处理之家新域名:www.bathome.net
第 8 楼
发表于 2008-05-24 16:55 · 中国 浙江 台州 电信
初级用户
★
积分 76 发帖 34 注册 2008-05-10 16:18 18年会员 UID 118340 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正