在Windows中,如何查找某个目录中使用unicode编码的所有文件?
我在搜索大文件目录中的字符串时遇到问题。我使用的搜索命令会跳过任何以 Unicode 编码的文件。我想找到这个目录中所有以 Unicode 编码的文件。我使用的是 Windows XP。
谢谢你!
I am having trouble searching a large directory of files for a string. The search command I'm using is skipping any file encoded in Unicode. I want to find all the files in this directory that are encoded in Unicode. I am on Windows XP.
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在打开文件并读取文件之前,您不知道编码。因此,您将枚举目录文件,然后浏览列表,打开并检查
BOM
或内容本身(例如一定数量的标题字节)。You don't know encoding before you open a file and read from it. So you will enumerate directory files, then go through the list, open and check either
BOM
or the content itself (such as certain amount of heading bytes).Windows 中的
find
命令支持 Unicode 文本文件。findstr
没有。The
find
command in Windows supports Unicode text files.findstr
doesn't.你可以用我下面的脚本来做到这一点,输入并不关心什么编码,只要你指定输出编码,就像这样的
-Encoding ASCII
。cd c:\MyDirectoryWithCrazyCharacterEncodingAndUnicode
在 Powershell 窗口中复制并粘贴脚本,您会明白只需使用它来修复语法
如果您想进一步解决由于编码而无法找到文件的问题,更改编码类型
You can do it with my script below, the input does not care what encoding, as far as you specify the output encoding like this
-Encoding ASCII
.cd c:\MyDirectoryWithCrazyCharacterEncodingAndUnicode
Copy and past the script in your Powershell windows, you get the idea just play with it to fix the syntax
If you want to further resolve issues with not being able to find files because of encoding, change the encoding type