中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 05:40
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 计算中英文混合字符长度的方法
可打印版本  728 / 5
第1楼 26933062 发表于 2008-04-20 16:35
银牌会员 发帖 879 积分 2,268
计算中英文混合字符长度的方法
计算中英文混合字符长度的方法,(含空行)
测试暂未发现 bug ......
缺点:
若文本最后有两行空行,则不需要下面那个for语句,否则无法计算最后一行。
第二个for就是专门计算最后一行的,不知有没有办法省略掉。
:

[ Last edited by 26933062 on 2008-4-20 at 04:48 PM ]
第2楼 huahua0919 发表于 2008-04-20 16:47
银牌会员 发帖 780 积分 1,608
第3楼 plp626 发表于 2008-04-20 17:12
银牌会员 发帖 1,020 积分 2,278
我们应该多鼓励发帖者,毕竟可以多交流
--------------------------
后面的部分可以略去:


findstr /o .* test.txt
是在每行显示字符偏移量,可以转换为字节数,这个论坛里有人发过了就是你后面的部分的代码

如果显示每行的字节数,这个方法的效率还是挺高的,且不生产临时文件。

但是当findstr频繁使用时候效率就很低,最好借助%~za获得字节数,(缺点产生临时文件)

[ Last edited by plp626 on 2008-4-20 at 05:28 PM ]
第4楼 26933062 发表于 2008-04-20 17:28
银牌会员 发帖 879 积分 2,268
type a.txt^&echo.^&echo.^)^|findstr /o .*
好办法,我最开始就是使用这种方法,结合后面的那个for,但是当时没想到第一个for中的方法,后来就以为这样不行,放弃了,,郁闷。。。
后面的方法就是从论坛里看到的。。

发现最后一行结果多了一字节

[ Last edited by 26933062 on 2008-4-20 at 05:34 PM ]
第5楼 26933062 发表于 2008-04-20 18:24
银牌会员 发帖 879 积分 2,268
:

[ Last edited by 26933062 on 2008-4-20 at 11:37 PM ]
第6楼 abcd 发表于 2008-04-20 20:26
银牌会员 发帖 739 积分 1,436
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023