中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-05 17:47
48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何用for 指定文件内容读取次数与定位?
可打印版本  1,642 / 10
第1楼 peterdocter 发表于 2007-03-16 23:45
中级用户 发帖 95 积分 379
如何用for 指定文件内容读取次数与定位?
每次取三个内容进行逻辑比较,行就退出不行就继续!
如:1-100,每次比较完不能重复!这只是一个例子,实际是从文件中提取的所以长度之前是不知道!

[ Last edited by peterdocter on 2007-3-17 at 01:40 AM ]
第2楼 peterdocter 发表于 2007-03-16 23:46
中级用户 发帖 95 积分 379
bat中有没有数组功用?我是说CMD批处理!

[ Last edited by peterdocter on 2007-3-16 at 11:51 PM ]
第3楼 NaturalJ0 发表于 2007-03-17 00:11
银牌会员 发帖 533 积分 1,181
意思没明白
例子没看懂
BAT 没有直接提供数组功能,也许你可以自己写个出来用用。
第4楼 peterdocter 发表于 2007-03-17 01:12
中级用户 发帖 95 积分 379
就是这样
test.txt:
1
2
3
4
5
6
7
8
9
10
...
从test.txt中先取三个数字
1
2
3
进行逻辑比较if之类,通过就跳循环否则就继续
再从test.txt再提取后面三个数字
4
5
6
一直到合乎逻辑判断或者test.txt的内容全部比较完为止。
就是一句话:“满足条件就停止,不足就继续到用完为止而且每次判断的内容不能重复!”
如果支持数组就很好办,只要对此数组变量进行循环与逻辑判断不用再读取文件就不会有重复内容的出现。就是不知道如何在CMD做到相当于此功能,把所有内容一次性全部读出来进行逻辑判断?
第5楼 vkill 发表于 2007-03-17 01:14
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
还是用 sed 好了
第6楼 vkill 发表于 2007-03-17 01:14
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
你连你的要求都没有说清楚
第7楼 electronixtar 发表于 2007-03-17 01:32
铂金会员 发帖 2,672 积分 7,493
根不用说模糊的题目了
第8楼 peterdocter 发表于 2007-03-17 01:34
中级用户 发帖 95 积分 379
sed 只是文件处理工具吗?
现在的问题这个for命令如何写了?是用到嵌套吗?
我想就应该是两个for语句
第一个for用于文件读取
第二个for用于逻辑比较 if xxx = ??? && goto exit_it
就是不知道如何实现每次取三个内容进行比较不合乎就继续,再取三个内容再进行比较直到合乎或没有内容时就退出!现在最大问题也就是每次取三个内容,而且要过滤重复的内容就是之前用过1,2,3再比较时4,6,5....

[ Last edited by peterdocter on 2007-3-17 at 01:36 AM ]
第9楼 vkill 发表于 2007-03-17 01:48
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
Originally posted by peterdocter at 2007-3-17 01:34:
sed 只是文件处理工具吗?
现在的问题这个for命令如何写了?是用到嵌套吗?
我想就应该是两个for语句
第一个for用于文件读取
第二个for用于逻辑比 ...


set n=0
:loop
for /f "skip=n ........

set/a n+=1
if ... goto end
goto loop
:end


剩下的自己写了
第10楼 youxi01 发表于 2007-03-17 02:24
高级用户 发帖 247 积分 846 来自 湖南==》广东
试下以下代码看是否能满足你的要求:

第11楼 peterdocter 发表于 2007-03-17 07:15
中级用户 发帖 95 积分 379
Originally posted by youxi01 at 2007-3-17 02:24 AM:
试下以下代码看是否能满足你的要求:

[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023