batch-file - 如何保存包含俄语或中文字符的文件的目录列表

我有时需要从我获得的 CD 中列出文件。这些文件名经常包含其他书写系统中的字符,例如西里尔俄语 (Добродошли.doc) 或简体/繁体中文 (孟子译注.pdf)。我的计算机(在 Windows 7 下运行,波兰语)显示文件名正确,打开文件,将文件保存在其他位置,让文件由各种软件等进行编辑。但是当我制作目录列表时(使用 dir 命令)我总是得到问号和其他奇怪的字符,而不是其他(中文、俄语)字符 - 默认情况下,dir 命令的输出似乎是用 ANSI 编写的默认 - 而不是 Unicode/UTF8。

例子:

02.03.09 21:13 15˙584˙500 ??????(??????).pdf     = these three files were in Chinese
02.03.09 03:11 18˙638˙982 ????(???).pdf
24.03.08 17:25 61˙141˙454 ???®????Ż(???).pdf 
18.03.13 16:00 1˙088 ????.txt                    = this file's name was in Russian 
02.03.09 21:20 26˙083˙641 Transformations-of-Ming.pdf

(通过 Windows 右键单击​​上下文菜单“打印目录列表”获得)

针对这个问题,我曾尝试寻找各种建议,但所提供的解决方案都没有解决我的问题——或者,我找到了(看似过时的)答案,在各种环境下暂时无法解决该问题。也许有些东西发生了变化 - 也许有一个解决方案,可以立即或在 Windows 注册表中更改某些东西之后?或者,如果没有简单的批处理编程解决方案 - 也许有一些现成的软件可供我下载(免费或购买)来解决我的问题?

最佳答案

首先,您需要支持外来字符的 True Type 字体 (TTF)。安装字体:

  • 在标题栏上单击鼠标右键
  • 选择属性/字体
  • 如果您的字体不在列表中,您必须先使用 key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont\ 将其添加到注册表中

安装字体后,控制台会显示该字体支持的所有外来字符。 dir 或重定向到文件 dir > dir.txt 之类的命令也有效。并且无需使用chcp 更改代码页。

https://stackoverflow.com/questions/16029552/

相关文章:

vbscript - 带参数的 Shell.Run

json - Play 2.1(scala) - 如何为 scala 枚举案例类编写 Format[

.net - 如何使用自定义记录器进行 vs 测试?

amazon-s3 - s3 临时签名 URL 中缺少对象的自定义 404 页面

asp.net-mvc-4 - Razor 看不到我的右括号

iphone - 单个上下文,但在不同上下文中的对象之间为 "Illegal attempt to

php - 为什么使用 mPDF 合并 PDF 文件后超链接丢失?

visual-studio-2012 - Visual Studio : Undo-redo of

image - 通过 mongo shell 脚本将图像文件读入 MongoDB 文档的二进制字段

c# - 在 C#/.NET 中逐笔更新到烛台/OHLC 数据