中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 09:50
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何统计文本文件每行中特定字符出现次数?
可打印版本  1,481 / 4
第1楼 namelessone 发表于 2009-08-22 09:38
新手上路 发帖 6 积分 7
如何统计文本文件每行中特定字符出现次数?
有一个文本文件,类似于csv逗号分割格式,现在想用统计每行逗号的个数的方法来检查文件内容是否被损坏,如何用cmd命令脚本来完成这个功能?
比如一个文件先检查第一行,有五个逗号,再检查第二行,如果不等于五个则报错。以此类推……
思路是用for结合findstr,可是还没想好怎么写,大家能帮个忙看看吗 谢了
第2楼 zqz0012005 发表于 2009-08-22 10:11
中级用户 发帖 135 积分 297
如果只是检查有没有5个逗号,没必要统计。
刚好5个,不多也不少:

如果允许多于5个逗号,将/nvx中的x去掉。
第3楼 namelessone 发表于 2009-08-22 11:45
新手上路 发帖 6 积分 7
十分感谢,但如果逗号个数不确定呢?最好是按照第一行来确定应有几个,之后的行如果不满足则报错
第4楼 newxso 发表于 2009-08-23 19:24
初级用户 发帖 101 积分 73 来自 GZ
比较文本每行中的逗号是否与第一行相同

以上代码只适合对逗号的检测,如果是其它符号(假设是句号),则把第四行改成:

set/a m+=1 &set str=%%a &set str=!str: =#! &set str=!str:,=#! &set str=!str:;=#! &set str=!str:.=,!

[ Last edited by newxso on 2009-8-24 at 05:39 ]
第5楼 newxso 发表于 2009-08-24 08:23
初级用户 发帖 101 积分 73 来自 GZ
如果借用一下VBS的话,准确度较高,例如文本中出现连续的逗号,但这样代码执行速度将慢些:
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023