在WINDOWS / DOS 批处理编程中,使用findstr、find命令都可在文件中查找文本,但是它们对汉字的支持都存在如下“缺陷”:
- 使用 findstr、find命令查找汉字时,只能用于936代码页下,在其它代码页下不能使用。
- 被查找的文件必须是ANSI编码
示例一
text.txt的编码是ANSI,如下所示:
测试
C:\out>chcp
活动代码页: 936
C:\out>findstr /n "中国" text.txt
3:中国
C:\out>find /n "中国" text.txt
---------- TEXT.TXT
[3]中国
C:\out>
使用Notepad++可以查看、修改文件的编码方式
下载Notepad++https://download.csdn.net/download/mt15306338066/86753577
示例二
text.txt的编码是UTF-8,如下所示:
测试
C:\out>chcp
活动代码页: 936
C:\out>findstr /n "中国" text.txt // 找不到
C:\out>find /n "中国" text.txt // 找不到
---------- TEXT.TXT
C:\out>
查看更多findstr命令参数,请查阅:findstr命令之参数详解
查看更多find命令参数,请查阅:find命令之参数完整详解
写作不易,如果您觉得对您有用,请“在下面一圈三连”。