返回

tree /f /a 乱码?这里有解决方法,让你轻松保存 Unicode 文本

windows

如何将 “tree /f /a” 结果保存到支持 Unicode 的文本文件

问题

当你使用 Windows 命令行中的 “tree” 命令生成文本文件,列出目录内容时,输出中包含 Unicode 字符时会出现乱码。

解决方法

要正确保存 Unicode 字符,需要采取以下步骤:

1. 使用正确的编码

使用支持 Unicode 的编码,如 UTF-8。在命令中使用以下参数:

tree /f /a > output.txt /E

2. 设置控制台的代码页

设置控制台代码页为 Unicode(UTF-8):

chcp 65001

3. 使用转换命令

使用 “iconv” 命令将输出转换为 UTF-8:

tree /f /a | iconv -f cp1252 -t utf-8 > output.txt

其他提示

  • 确保输出文件扩展名正确,如 .txt.utf8
  • 在某些情况下,需要将 “iconv” 命令与 “tee” 命令结合使用:
tree /f /a | tee output.txt | iconv -f cp1252 -t utf-8 >> output.txt

示例

使用 “iconv” 命令转换输出的示例:

tree /f /a | iconv -f cp1252 -t utf-8

输出:

\---Erika szobája
        cover.jpg
        Erika szobája.m3u
        Kátai Tamás - 01 Télvíz.ogg
        Kátai Tamás - 02 Zölderdő.ogg
        Kátai Tamás - 03 Renoir kertje.ogg
        Kátai Tamás - 04 Esőben szaladtál.ogg
        Kátai Tamás - 05 Ázik az út.ogg
        Kátai Tamás - 06 Sűrű völgyek takaród.ogg
        Kátai Tamás - 07 Őszhozó.ogg
        Kátai Tamás - 08 Mécsvilág.ogg
        Kátai Tamás - 09 Zúzmara.ogg

常见问题解答

  1. 为什么会出现乱码?

可能是因为控制台代码页不正确,或者输出编码不兼容。

  1. 如何设置正确的代码页?

使用 “chcp 65001” 命令设置控制台代码页为 Unicode(UTF-8)。

  1. iconv 命令的目的是什么?

将文件从一种编码转换为另一种编码,在这种情况下,将输出转换为 UTF-8。

  1. 为什么需要 tee 命令?

在某些情况下,需要使用 tee 命令将原始输出保存在文件中,同时将转换后的输出重定向到另一个文件。

  1. 是否可以将这些方法用于其他命令?

是的,这些方法可以用于其他产生 Unicode 输出的命令。