![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 04:23 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已解决]批处理执行时如何直接跳到第十行? |
| 可打印版本 844 / 11 |
| 第1楼 nghr | 发表于 2007-10-21 15:07 |
| 初级用户 发帖 34 积分 88 | |
|
[已解决]批处理执行时如何直接跳到第十行? 假设有十五行代码,执行时第二行有个判断,当条件附合时直接跳到第十行继续执行,请知道的朋友指点一下
[ Last edited by nghr on 2007-10-21 at 06:02 PM ] |
|
| 第2楼 slore | 发表于 2007-10-21 15:11 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
goto语句
|
|
| 第3楼 nghr | 发表于 2007-10-21 15:21 |
| 初级用户 发帖 34 积分 88 | |
Originally posted by slore at 2007-10-21 03:11 PM: goto只是跳转到标记..........能直接跳到那一行的吗? goto +8是这样? |
|
| 第4楼 slore | 发表于 2007-10-21 15:22 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
在那行前面加上标记……
|
|
| 第5楼 nghr | 发表于 2007-10-21 15:38 |
| 初级用户 发帖 34 积分 88 | |
|
@echo off
dir /b |findstr /i "KB" >hotfix.txt setlocal EnableDelayedExpansion for /f "delims=" %%a in (hotfix.txt) do ( set var=%%a set var=!var:kb=#! set var=!var:*#=! for /f "tokens=1 delims=-." %%b in ("!var!") do ( if exist kb%%b @echo 更新kb%%已经取提,现在提取第一备份更新 kb%%b_2 ,请您手工分析 && @%%a /x:.\qfe_bak_kb%%b_2 /q && goto :bak if exist kb%%b_2 @echo 更新kb%%_2已经取提,现在提取第二备份更新 kb%%b_3 ,请您手工分析 && @%%a /x:.\qfe_bak_kb%%b_3 /q && goto :bak @echo 正在提取Windows_XP_Sp2_QFE 更新 kb%%b ,请稍等 && @%%a /x:.\qfe_bak_kb%%b /q @echo off md .\KB%%b move .\qfe_bak_kb%%b\update .\kb%%b move .\qfe_bak_kb%%b\sp2qfe .\kb%%b rd .\qfe_bak_kb%%b /s /q if exist KB%%b\update\update_SP1QFE.inf del kb%%b\update\update_SP1QFE.inf /q if exist KB%%b\update\update_SP1GDR.inf del kb%%b\update\update_SP1GDR.inf /q if exist KB%%b\update\update_SP2GDR.inf del kb%%b\update\update_SP2GDR.inf /q @echo Windows_XP_Sp2_QFE 更新 kb%%b 已制作完成! :bak )) del hotfix.txt /q pause 按你的方法,我修改了批处理,可还是不能执行 |
|
| 第6楼 nghr | 发表于 2007-10-21 15:44 |
| 初级用户 发帖 34 积分 88 | |
|
:bak
@echo Windows_XP_Sp2_QFE 更新 kb%%b 已制作完成! 交换了这两个语句的位置就可以了,不知道什么原因 |
|
| 第7楼 nghr | 发表于 2007-10-21 16:08 |
| 初级用户 发帖 34 积分 88 | |
|
for里面使用了goto命令后果就是直接不能解析))的意义了,汗
|
|
| 第8楼 slore | 发表于 2007-10-21 16:10 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
要回来的话call……P里结构不是很好掌握
|
|
| 第9楼 nghr | 发表于 2007-10-21 16:17 |
| 初级用户 发帖 34 积分 88 | |
|
call 之后还会继续执行下一行!
|
|
| 第10楼 slore | 发表于 2007-10-21 16:22 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
不想执行?那再跳!你可以跳到到eof,也可以直接exit
|
|
| 第11楼 26933062 | 发表于 2007-10-21 16:52 |
| 银牌会员 发帖 879 积分 2,268 | |
|
你是想在for语句里,通过条件判断来执行命令吧?
你这样问,谁能听的懂啊? 在for里最好不要使用标签. 灵活运用if 条件 命令 else 命令 就可以实现. 你的代码写的太乱了,换个简单点的,有代表意义的来问吧. |
|
| 第12楼 nghr | 发表于 2007-10-21 18:01 |
| 初级用户 发帖 34 积分 88 | |
Originally posted by 26933062 at 2007-10-21 04:52 PM: 感谢您,已经用IF语句解决!!! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |