我需要在命令提示符中编写一个命令行,引用名称中包含 åäö 的文件,但我似乎无法正确执行。Windows 应设置为代码页 win1252,命令提示符应设置为 oem850。
具体文件名为:
Förändringar.txt
我能够使用它dir /x
来获取短 8.3 文件名并使用它,但无法正确获取长名称让我很烦恼...
更新:
这些评论让我得出结论,这不是命令提示符的问题(cmd.exe
澄清一下)。这似乎是我试图运行的特定控制台应用程序的问题(gfix.exe
来自 Firebird 数据库管理器)。显然,它无法正确地将命令行参数从控制台代码页转换为它需要在内部使用的任何内容。
答案1
Windows 中的常规命令提示符是 CMD.EXE。这是一个 Unicode 程序。在 Unicode 中,不需要“Win1252”和“OEM850”之类的东西。
我怀疑你正在使用批处理文件,因为这些文件可能不是 Unicode 的。CMD.EXE 可以理解非 Unicode 的批处理文件,但在使用非 ASCII 字符时应避免使用这些文件。只需使用 Unicode 批处理文件即可。