环境:
Windows 7
PSVersion 2.0
在某目录下有文件,用即使本创建,在保存时选择不同的编码:
文件名 | 保存时的编码选项 | gvim查看fileencoding |
fooU.txt | Unicode | utf-16le |
fooA.txt | ANSI | Cp936 |
fooUTF8.txt | UTF-8 | utf-8 |
fooUnicodeBigEnd.txt | Unicode big endian | Utf-16 |
上述文件均包含字符串:
证件号码
如果使用Get-ChildItem/Select-String 搜索指定路径下包含特定汉字字符串的文件,则需要指定 -Encoding 参数为oem或者default,例如:
Get-ChildItem -Path . -Filter 'foo*.txt' | Select-String -Pattern '证.*'
如果不进行上述指定,则不能搜索到上述fooA.txt文件。仅能够搜索到 fooU.txt、fooUTF8.txt、fooUnicodeBigEnd.txt