【发布时间】:2018-10-17 10:05:46
【问题描述】:
我正在尝试弄清楚如何让 cmd.exe(命令提示符)以与系统中安装的语言不同的语言显示输出。
我将使用一个简单的命令作为示例。 如果我输入命令
date
输出将是:
数据更正:07/05/2018
Immettere la nuova 数据:(gg-mm-aa)
那是因为我系统上安装的 Windows 设置为 Italian。
我想在我的应用程序中通过 CMD.exe 执行命令并解析它们的输出。我已经知道如何做到这一点,但问题是如果我的应用程序在非意大利语 Windows 系统上执行,该应用程序将无法运行,因为它基于意大利语字符串(例如,我搜索“Data corrente”字符串,但如果Windows 设置为其他语言将找不到该字符串)。
无论系统上安装什么语言,我都需要生成固定语言的输出。
使用上面的示例,输入“日期”命令我想在所有系统中获得以下输出,包括意大利系统:
当前日期是:07/05/2018
输入新日期:(gg-mm-aa)
谢谢。
【问题讨论】:
-
wandersick.blogspot.com/p/change-non-english-command-line.html 不确定这是否仍然适用于最新的操作系统版本
-
它更像是一种文化背景。检查此link 了解更多信息
-
date是一个特别麻烦的例子,因为它的输出不仅取决于语言,还取决于实际的区域设置(gg-mm-aa不是大多数系统上使用的格式,但即使在我的美国英语 Windows 上,短日期格式也设置为yy-mm-dd)。我假设/希望你实际上并没有调用date,虽然...... -
如果可能,不要使用本地化的内置命令。编写执行所需操作的 C# 代码,或编写 PowerShell 脚本,以独立于区域设置的方式格式化其输出并调用它。只有调用内置命令才能方便地完成的事情很少,其他任何方式都无法完成的事情更是少之又少。
-
“date”命令只是一个例子,我不使用它(我知道管理 DateTime 的方法比使用 cmd 更方便)。问题是是否可以用与本地语言不同的语言显示输出。