![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-27 21:08 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,277 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何取首个符合条件的内容 |
| 可打印版本 862 / 14 |
| 第1楼 gmy | 发表于 2008-04-26 15:59 |
| 版主 发帖 392 积分 1,113 | |
|
如何取首个符合条件的内容 1.txt
.... .... .... abcXXX=YYY .... .... abcZZZ=CCC ... 找到以ABC开头的一行的=左边的内容,此例输出结果是abcXXX 注意,XXX, YYY都不确定,abc所在行的行号也不确定,但有可能以后行里也有以abc开头的行(只取第一个符合条件的) 要求只能用for或findstr,一句解决。 |
|
| 第2楼 pusofalse | 发表于 2008-04-26 16:03 |
| 银牌会员 发帖 646 积分 1,604 | |
|
@echo off&setlocal enabledelayedexpansion
for /f "delims==" %%a in ('findstr /i "^abc" 1.txt') do ( set /a n+=1 if !n! equ 1 echo %%a ) pause [ Last edited by pusofalse on 2008-4-26 at 04:19 PM ] |
|
| 第3楼 s11ss | 发表于 2008-04-26 16:34 |
| 银牌会员 发帖 566 积分 2,098 | |
|
[ Last edited by s11ss on 2008-4-26 at 04:36 PM ] |
|
| 第4楼 gmy | 发表于 2008-04-26 17:01 |
| 版主 发帖 392 积分 1,113 | |
|
2楼,不符合“一句解决”的要求。
3楼,也不行,输出结果是最后一个符合条件的 abcZZZ,应该是首个符合条件的 abcXXX 才对。 [ Last edited by gmy on 2008-4-26 at 05:05 PM ] |
|
| 第5楼 s11ss | 发表于 2008-04-26 17:06 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by gmy at 2008-4-26 05:01 PM: 可是我这儿实验就是输出abcXXX。 |
|
| 第6楼 gmy | 发表于 2008-04-26 17:16 |
| 版主 发帖 392 积分 1,113 | |
|
3楼的根本无法执行,提示:此时不应该有%%a
所以我把改成%%a改成%a,可以执行但结果不对。 我把1.txt打全了: 111=222 333=444 abcXXX=YYY 555=666 777=888 abcZZZ=CCC 999=000 [ Last edited by gmy on 2008-4-26 at 05:19 PM ] |
|
| 第7楼 s11ss | 发表于 2008-04-26 17:18 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by gmy at 2008-4-26 05:16 PM: 我提供的是bat代码阿 |
|
| 第8楼 ansipeter | 发表于 2008-04-26 17:19 |
| 中级用户 发帖 130 积分 269 | |
|
楼主应该保存为.BAT或者.CMD执行,直接复制在CMD环境是不可以的
|
|
| 第9楼 gmy | 发表于 2008-04-26 17:20 |
| 版主 发帖 392 积分 1,113 | |
|
必须在CMD命令行下执行
|
|
| 第10楼 26933062 | 发表于 2008-04-26 17:27 |
| 银牌会员 发帖 879 积分 2,268 | |
|
3楼代码能显示么? goto :eof 不会直接退出吗?
楼主这个问题似乎有点强人所难了。。。 |
|
| 第11楼 ansipeter | 发表于 2008-04-26 17:27 |
| 中级用户 发帖 130 积分 269 | |
|
那楼主就试试下面的语句吧
|
|
| 第12楼 26933062 | 发表于 2008-04-26 17:32 |
| 银牌会员 发帖 879 积分 2,268 | |
| 第13楼 gmy | 发表于 2008-04-26 17:36 |
| 版主 发帖 392 积分 1,113 | |
|
感谢11楼,没有成功
感谢12楼,成功,设计的比较巧妙。 此贴已结,谢谢大家。 [ Last edited by gmy on 2008-4-26 at 05:42 PM ] |
|
| 第14楼 s11ss | 发表于 2008-04-26 17:39 |
| 银牌会员 发帖 566 积分 2,098 | |
Originally posted by gmy at 2008-4-26 05:36 PM: 11楼和12楼的都可以啊~~~~~~~ |
|
| 第15楼 moniuming | 发表于 2008-04-26 17:48 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
我也来一个
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |