![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 17:24 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助][完美解决]高手可以帮我加上进度吗? |
| 可打印版本 836 / 7 |
| 第1楼 snmm2004 | 发表于 2008-05-24 14:16 |
| 初级用户 发帖 34 积分 76 | |
|
[求助][完美解决]高手可以帮我加上进度吗? 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楼 bat-zw | 发表于 2008-05-24 14:50 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
ps:批处理加进度条是加不上的,楼主先凑合用用我这个吧。 [ Last edited by zw19750516 on 2008-5-24 at 03:08 PM ] |
|
| 第3楼 snmm2004 | 发表于 2008-05-24 15:06 |
| 初级用户 发帖 34 积分 76 | |
|
当前第几条显示出来了,总条数没有显示
[ Last edited by snmm2004 on 2008-5-24 at 03:10 PM ] |
|
| 第4楼 snmm2004 | 发表于 2008-05-24 15:21 |
| 初级用户 发帖 34 积分 76 | |
|
可以类似这样%比就完美了,参考如下 用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楼 bat-zw | 发表于 2008-05-24 15:27 |
| 金牌会员 发帖 1,276 积分 3,105 | |
Originally posted by snmm2004 at 2008-5-24 15:21: 兄弟不是要我写个完整的软件给你吧。。。 |
|
| 第6楼 snmm2004 | 发表于 2008-05-24 15:48 |
| 初级用户 发帖 34 积分 76 | |
|
我的意思是,读取的总条数可以显示的话就可以了,上面这个我说的意思是类似
呵呵,如果可以改进的话帮我一下,如果有难度这样也可以了,太感谢了 [ Last edited by snmm2004 on 2008-5-24 at 03:52 PM ] |
|
| 第7楼 bat-zw | 发表于 2008-05-24 16:30 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
我日,终于写出来了: 请楼主别再说不行了,下面代码实现的功能,楼主想要的基本都有了。
[ Last edited by zw19750516 on 2008-5-24 at 04:47 PM ] |
|
| 第8楼 snmm2004 | 发表于 2008-05-24 16:55 |
| 初级用户 发帖 34 积分 76 | |
|
完美完美,非常感谢!!!
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |