![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 07:38 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教eol=可否忽略多个? |
| 可打印版本 2,691 / 17 |
| 第1楼 FBOAR | 发表于 2007-01-16 00:26 |
| 初级用户 发帖 31 积分 86 | |
|
请教eol=可否忽略多个? 我想忽略以;和s开头的行
eol=;,s 行不通 此句该如何写? ![]() |
|
| 第2楼 vkill | 发表于 2007-01-16 00:30 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
貌似不可以
|
|
| 第3楼 oilio | 发表于 2007-01-16 01:39 |
| 高级用户 发帖 303 积分 641 | |
|
命令解释就是指定一个啊,没听说可以那样搞,如果有人那样能搞成功,还真的期待。。。。
|
|
| 第4楼 redtek | 发表于 2007-01-16 01:53 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
假如要滤掉下面 A.TXT 文件中 “;” 和 “S” 开头的行内容:
分两次间接实现:(棕色)部分代码将滤掉 “S” 字母之后的字符串再次给它的调用者(黑色)部分代码。 而(黑色)部分代码 for 中的 eol 参数又会把 “;” 符号滤过,最后结果就等于间接实现了同时滤掉 “;” 和 “S” 这两个字符。 上面输出结果: 注: eol 参数区分字母的大小写 eol 参数可以滤掉一个中文汉字(它同样把一个汉字当做象英文字母一样的一个“字节”来看待) [ Last edited by redtek on 2007-1-15 at 12:54 PM ] |
|
| 第5楼 9527 | 发表于 2007-01-16 01:59 |
| 银牌会员 发帖 438 积分 1,185 来自 北京 | |
|
有些时候不要把问题想的都这么复杂,可以用FOR进行二次过滤啊,虽然影响速度那也比一个个的弄好啊
演示文本 对应过滤代码如下: 虽然没有进行对特殊字符情况的考虑,不过你可以在次改造来实现啊 |
|
| 第6楼 9527 | 发表于 2007-01-16 02:00 |
| 银牌会员 发帖 438 积分 1,185 来自 北京 | |
|
呵呵,redtek兄抢先了....当灌水了
[ Last edited by 9527 on 2007-1-16 at 02:02 AM ] |
|
| 第7楼 vkill | 发表于 2007-01-16 02:06 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
要是很多那?
|
|
| 第8楼 lxmxn | 发表于 2007-01-16 05:07 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by vkill at 2007-1-15 13:06: 可以变通一下,用findstr /v。我的a.txt文档:
忽略以"C"、"V"、"中"开始的所有行: |
|
| 第9楼 Eblis | 发表于 2007-01-16 13:50 |
| 中级用户 发帖 108 积分 251 来自 湖南==>广州 | |
|
lxmxn.高哇..这样可以忽略很多了...
|
|
| 第10楼 lxmxn | 发表于 2007-01-16 14:21 |
| 版主 发帖 4,938 积分 11,386 | |
|
嘿嘿,批处理就是没有做不到,只有想不到。 |
|
| 第11楼 FBOAR | 发表于 2007-01-17 01:21 |
| 初级用户 发帖 31 积分 86 | |
|
感谢楼上几位朋友的回答 谢谢
|
|
| 第12楼 luowei14 | 发表于 2007-01-18 07:39 |
| 初级用户 发帖 98 积分 193 | |
|
看来FOR 命令要多学学了 。。。
|
|
| 第13楼 beeny | 发表于 2007-01-18 12:31 |
| 初级用户 发帖 49 积分 136 | |
Originally posted by lxmxn at 2007-1-15 04:07 PM: |
|
| 第14楼 lxmxn | 发表于 2007-01-18 13:51 |
| 版主 发帖 4,938 积分 11,386 | |
|
^符号在findstr里面代表匹配一个字符串的开头,而$代表匹配一个字符串的结尾,具体说明请看findstr /?。 |
|
| 第15楼 oilio | 发表于 2007-01-28 06:19 |
| 高级用户 发帖 303 积分 641 | |
|
lxmxn兄,我用过你说的方法,忽略以字符打头的行,我知道了。忽略以某某字符结尾的行,我没有试出来,不知道问题出在什么地方,看一下帮助命令,也没有发现什么。我是这样用的。忽略以“e,n,术”结尾的行
for /f "delims=" %a in ('findstr /v "$e.* $n.* $术.*" a.txt') do @echo %a 不知道错在什么地方,高手指点一下啊,在这儿谢过了。 |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |