You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Windows的cmd.exe输出非系统默认语言的内容?

解决CMD命令输出语言和系统默认不一致的问题

嘿,我刚好碰到过类似的需求,给你几个实用的解决办法,帮你在意大利语系统里让cmd输出其他语言的内容,方便后续解析:

方法1:临时设置区域环境变量再执行命令

Windows的cmd命令输出语言其实是受区域环境变量控制的,不用改系统全局设置,临时设置一下就行。比如你想让date输出英语内容,直接在命令前加个环境变量设置:

set LANG=en-US && date

如果是在你的应用里调用cmd,把命令拼成这样就行:

cmd /c "set LANG=en-US && date"

执行后你就能看到英语的输出了:

Current date: 05/07/2018
Enter the new date: (mm-dd-yy)

小提示:这个方法需要系统已经安装了目标语言的语言包,不然可能不会生效哦。

方法2:代码页+环境变量双管齐下

要是单纯设置环境变量没效果,可以试试同时切换控制台的代码页到目标语言对应的编码。比如英语常用的OEM代码页是437,ANSI是1252,命令可以这么写:

chcp 437 && set LANG=en-US && date

应用里调用的话就是:

cmd /c "chcp 437 && set LANG=en-US && date"

方法3:换用PowerShell(更灵活的替代方案)

要是你不非得用cmd.exe,PowerShell其实更适合做这种可控的输出。比如想输出英语格式的日期,直接用命令就能搞定:

Get-Date -UFormat "%m/%d/%Y" | Write-Host "Current date: $_"

或者直接切换PowerShell的文化信息,之后所有相关命令都会用这个语言输出:

[System.Threading.Thread]::CurrentThread.CurrentCulture = [System.Globalization.CultureInfo]::CreateSpecificCulture("en-US")
Get-Date

这种方式完全不用依赖系统的区域设置,输出格式和语言都能精准控制,特别适合程序解析。

方法4:在应用进程启动时直接设置环境变量

如果你的应用是通过创建进程的方式调用cmd.exe,那可以在启动进程的时候,直接给它设置LANG环境变量(比如设为en-US)。这样整个cmd会话都会用这个语言输出,不用在命令里额外拼接设置语句。具体怎么实现要看你用的编程语言,比如C#里可以通过ProcessStartInfo.EnvironmentVariables来添加或修改这个变量。


内容的提问来源于stack exchange,提问作者robytur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:58:02