在Windows中,如何查找某个目录中使用unicode编码的所有文件?

发布于 2024-12-29 04:06:38 字数 113 浏览 1 评论 0原文

我在搜索大文件目录中的字符串时遇到问题。我使用的搜索命令会跳过任何以 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

极致的悲 2025-01-05 04:06:38

在打开文件并读取文件之前,您不知道编码。因此,您将枚举目录文件,然后浏览列表,打开并检查 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).

英雄似剑 2025-01-05 04:06:38

Windows 中的 find 命令支持 Unicode 文本文件。 findstr 没有。

The find command in Windows supports Unicode text files. findstr doesn't.

安静被遗忘 2025-01-05 04:06:38

你可以用我下面的脚本来做到这一点,输入并不关心什么编码,只要你指定输出编码,就像这样的-Encoding ASCII

  1. 转到您想要的目录 cd c:\MyDirectoryWithCrazyCharacterEncodingAndUnicode
  2. 关闭此脚本!

在 Powershell 窗口中复制并粘贴脚本,您会明白只需使用它来修复语法

 foreach($FileNameInUnicodeOrWhatever in get-childitem )
 {        
    $tempEncoding = (Get-Content -encoding byte)
    write-output $FileNameInUnicodeOrWhatever "has encoding" $tempEncoding   

    //  [System.Text.Encoding]::$result
 }

如果您想进一步解决由于编码而无法找到文件的问题,更改编码类型

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.

  1. Goto the Dir you want cd c:\MyDirectoryWithCrazyCharacterEncodingAndUnicode
  2. Fire this script away!

Copy and past the script in your Powershell windows, you get the idea just play with it to fix the syntax

 foreach($FileNameInUnicodeOrWhatever in get-childitem )
 {        
    $tempEncoding = (Get-Content -encoding byte)
    write-output $FileNameInUnicodeOrWhatever "has encoding" $tempEncoding   

    //  [System.Text.Encoding]::$result
 }

If you want to further resolve issues with not being able to find files because of encoding, change the encoding type

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文