[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

批处理如何判断1.txt文件内容中,是否包含中文?

批用第三方,其它语言可以判断字节数。
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

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

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

纯批实现会比较困难,需获取文件的行数,然后获取每一行并计算长度。如果没有中文则行数*2+字符数=字节数。

TOP

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

TOP

回复 4# WHY
代码不对,什么情况都是Yes

TOP

回复 5# 1078292299


    用附件把你测试的 1.txt 发出来我试试。

TOP

这就是Yes,后面加几个汉字也一样Yes.

TOP

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

TOP

回复 8# terse

感谢,顺便问一下 IsCJKUnifiedIdeographs 是什么意思?

TOP

奇怪,不知道你啥系统
脚本已修改。

TOP

回复 9# 1078292299
C——中文
J——日文
K——韩文

TOP

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

TOP

返回列表