Board logo

标题: [文本处理] 批处理如何判断1.txt文件内容中,是否包含中文? [打印本页]

作者: 1078292299    时间: 2021-2-1 11:16     标题: 批处理如何判断1.txt文件内容中,是否包含中文?

批处理如何判断1.txt文件内容中,是否包含中文?
作者: xczxczxcz    时间: 2021-2-1 12:29

批用第三方,其它语言可以判断字节数。
作者: 路过    时间: 2021-2-1 19:50

本帖最后由 路过 于 2021-2-1 19:55 编辑

把1.txt转换为UTF-8格式;如果里面有中文,转换后文件体积增大。
如果1.txt本身是UTF-8格式,转换成ANSI;如果里面有中文,转换后文件体积减小。
转换文件的编码可以用VBS脚本

纯批实现会比较困难,需获取文件的行数,然后获取每一行并计算长度。如果没有中文则行数*2+字符数=字节数。
作者: WHY    时间: 2021-2-1 22:08

本帖最后由 WHY 于 2021-2-2 16:13 编辑
  1. PowerShell "$a=@(gc 1.txt) -match '[\u4E00-\u9FFF]';if($a.Count){'Yes'}else{'No'}"
复制代码

作者: 1078292299    时间: 2021-2-2 08:47

回复 4# WHY
代码不对,什么情况都是Yes
作者: WHY    时间: 2021-2-2 09:17

回复 5# 1078292299


    用附件把你测试的 1.txt 发出来我试试。
作者: 1078292299    时间: 2021-2-2 14:45

这就是Yes,后面加几个汉字也一样Yes.
作者: terse    时间: 2021-2-2 15:52

  1. powershell -c "if ((gc 1.txt) -notmatch '[\p{IsCJKUnifiedIdeographs}]+'){'NO'} else {'YES'}"
复制代码

作者: 1078292299    时间: 2021-2-2 16:10

回复 8# terse

感谢,顺便问一下 IsCJKUnifiedIdeographs 是什么意思?
作者: WHY    时间: 2021-2-2 16:15

奇怪,不知道你啥系统
脚本已修改。
作者: qixiaobin0715    时间: 2021-2-2 16:25

回复 9# 1078292299
C——中文
J——日文
K——韩文
作者: dy59524527    时间: 2021-2-7 17:29

学习学习学习学习学习学习




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2