中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-24 07:22
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行
DOS批处理 & 脚本技术(批处理室) » 用for和if命令判断文本
可打印版本  1,247 / 6
第1楼 26933062 发表于 2006-12-20 11:19
银牌会员 发帖 879 积分 2,268
用for和if命令判断文本
a.txt中的内容
f:\111\abc\rty\ddfd\rr.txt
f:\111\abc\hj\wed\fr4.txt
f:\111\abc\rjhy\tyu\ksf\hjy7.txt
f:\111\abc\gjy\uio\7ufg.txt
f:\111\abc\tuy\iyd.txt
f:\111\abc\riop\sew\mjk.txt
f:\111\abc\rr.txt

目的:想用for命令循环a.txt的内容以\作分隔符,将1,2,3,4,5,6,部分复制到b.txt中.每一行中没有6部分和大于6部分的行都不要.也就是说想用if命令判断每一行,有1,2,3,4,5,6,例的就复制到b.txt中发现有多余6例或不足6例的就忽略.
这样说清楚吗?

[ Last edited by namejm on 2006-12-20 at 10:02 PM ]
第2楼 namejm 发表于 2006-12-20 12:41
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  以下为演示代码,如果满意,在 echo 语句后加上重定向部分就可以了。考虑到路径中可能带空格及特殊字符,所以用引号把每条路径括起来了,如果没有我所说的情况,可以把引号去掉:
第3楼 26933062 发表于 2006-12-21 05:56
银牌会员 发帖 879 积分 2,268
namejm 先谢了,
还有请问一句,代码里有好几个跳转到标签eof,我怎么没看到eof的标签呢?
见笑了,我很喜欢批处理,可又没人教,呵呵..........麻烦你了.

[ Last edited by 26933062 on 2006-12-20 at 05:06 PM ]
第4楼 redtek 发表于 2006-12-21 06:19
金牌会员 发帖 1,147 积分 2,902
GOTO /? 命令的帮助中带有 :eof 的解释~:)


GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前
批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的
办法。有关能使该功能有用的 CALL 命令的扩展描述,请键入
CALL /?。
第5楼 26933062 发表于 2006-12-21 09:45
银牌会员 发帖 879 积分 2,268
还是没看懂,我可以理解为运行goto :eof 这句时就退出批处理吗?
第6楼 lxmxn 发表于 2006-12-21 11:28
版主 发帖 4,938 积分 11,386

  如果在标签里面,goto :eof 就是跳出当前的标签脚本体,继续执行下面的命令。
  如果不在标签里面,一般是直接跳出批处理。
第7楼 lisiyuan 发表于 2006-12-21 11:45
初级用户 发帖 28 积分 21
学习了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023