【问题标题】:Make system calls (Windows Command Prompt) answer in english用英语进行系统调用(Windows 命令提示符)回答
【发布时间】:2013-05-15 11:28:00
【问题描述】:

我正在编写一个 Perl 脚本,该脚本需要执行一些系统调用来获取一些系统数据。为了在任何计算机上可靠地解析这些调用的输出,我需要确保调用的输出设置为英语。

我面临的问题是,例如在我的 PC 中,我从这些命令获得本地化输出。我的 Windows 是用西班牙语设置的,所以像 systeminfo 这样的调用会以西班牙语返回数据。

我可以在命令调用中运行一个命令(或其他东西),以使所有系统调用的行为就像系统始终是英文一样,而无需修改系统配置中的任何内容?

提前感谢您的 cmets。

赏金注意事项:此问题的答案不得以任何方式干扰系统。它应该是一种从系统调用/命令中获取英文答案的方法,该系统调用/命令适用于任何机器,而无需修改其配置、注册表或其他。

【问题讨论】:

  • 这不是一个选项。

标签: windows localization command-prompt


【解决方案1】:

This solution 允许您使命令提示符以英语运行。它确实会更改一些注册表项,但如果您愿意,它也会将它们更改回来。您可以运行他们在.bats 中输入的相同命令,以使系统变为英文,然后返回本地化。

如果您尝试运行需要管理员权限的命令,那么您可以将这些调用包含在您的程序中而不会出现问题。

HTH

【讨论】:

    【解决方案2】:

    我认为WMIC 命令是最好的。自 Windows XP 以来,它一直是 Windows 的标准功能。

    WMIC 具有对 Windows 系统的完全访问权限(取决于用户权限等),并且有一个区域设置选项,可以从已安装的语言包中选择有效的区域设置(对于命令)。

    语言环境是从列表here中选择的。

    要使用美国英语(如果可用)获取当前用户名,您可以使用 wmic /locale:ms_409 netlogin get name

    通过 WMI 界面,您甚至可能不需要本地化结果(即:如果足够小心,您可能只需要获取原始数据)。

    【讨论】:

    • 谢谢,但 WMIC 对某些信息非常有限。我提到了一些我需要运行的命令示例,但这些并不是我需要的全部命令。
    猜你喜欢
    • 2017-01-27
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    相关资源
    最近更新 更多