楼 主
如何快速判断系统语言?
发表于 2007-10-13 16:23 · 中国 浙江 杭州 电信
中级用户
★★
积分 305
发帖 85
注册 2005-05-23 00:00
21年会员
UID 39004
性别 男
状态 离线
虽然用wmic可以,但这个运行要搜集很多东西,所以处理很慢。大家有没其他方法可以快点的?
第 2 楼
发表于 2007-10-13 17:40 · 中国 北京 海淀区 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
第 3 楼
发表于 2007-10-13 22:10 · 中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
chcp
932日语,936简体中文,950繁体中文,1252英语
第 4 楼
发表于 2007-10-14 12:46 · 中国 浙江 杭州 电信
中级用户
★★
积分 305
发帖 85
注册 2005-05-23 00:00
21年会员
UID 39004
性别 男
状态 离线
chcp查看的好像不行。因为如果在英文系统下改用亚洲语言,那么chcp查出来的还是936.而不是1252
第 5 楼
发表于 2007-10-14 17:02 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by yardian at 2007-10-13 16:23:
虽然用wmic可以,但这个运行要搜集很多东西,所以处理很慢。大家有没其他方法可以快点的?
你的wmic怎么写的呢?
感觉不会怎么慢。
第 6 楼
发表于 2007-10-14 18:46 · 中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
Originally posted by yardian at 2007-10-14 12:46 PM:
chcp查看的好像不行。因为如果在英文系统下改用亚洲语言,那么chcp查出来的还是936.而不是1252
你要查的是默认区域设置吧?
第 7 楼
发表于 2007-10-15 07:08 · 中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
Originally posted by yardian at 2007-10-14 12:46 PM:
chcp查看的好像不行。因为如果在英文系统下改用亚洲语言,那么chcp查出来的还是936.而不是1252
看看这个分支下面有没有你要的东西
HKEY_CURRENT_USER\Control Panel\International
第 8 楼
发表于 2007-11-04 17:08 · 中国 浙江 杭州 电信
中级用户
★★
积分 305
发帖 85
注册 2005-05-23 00:00
21年会员
UID 39004
性别 男
状态 离线
第 9 楼
发表于 2007-11-04 19:45 · 中国 北京 海淀区 联通
银牌会员
★★★
积分 1,287
发帖 634
注册 2007-05-02 15:06
19年会员
UID 87277
性别 男
来自 cmd.exe
状态 离线
第 10 楼
发表于 2007-11-04 21:47 · 中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
20年会员
UID 54766
性别 男
来自 上海
状态 离线
@echo off
for /f "skip=4 tokens=3" %%i in ('reg query "HKCU\Control Panel\International" /v "sLanguage"') do echo %%i
pause
@echo off
for /f "skip=4 tokens=3" %%i in ('reg query "HKCU\Control Panel\International" /v "sCountry"') do echo %%i
pause
我就是不明白第2个代码怎么只显示“中”而不是“中国”
第 11 楼
发表于 2007-11-04 21:52 · 中国 上海 东方有线
初级用户
★
积分 110
发帖 44
注册 2007-11-01 21:56
18年会员
UID 101435
性别 男
状态 离线
第 12 楼
发表于 2008-03-19 20:06 · 中国 广东 深圳 联通
初级用户
★
积分 89
发帖 36
注册 2007-12-20 15:37
18年会员
UID 106247
性别 男
状态 离线
for /f "skip=4 tokens=3" %%i in ('reg query "HKCU\Control Panel\International" /v "sLanguage"') do echo %%i
pause
在 XP 和 VISTA 下有不同的输出结果。
在我的简体VISTA下,只能在去掉 skip=4 以后才能显示 CHS 的结果。
而在 XP 中,有skip=4 就正常输出CHS, 如果也去掉 skip=4 ,会显示两个结果:
echo VERSION
echo CHS
在 Win2000 里面不能用(没有 REG 命令)。请问在 Win2000 中有无办法判断当前语言?(我曾经使用 CHCP/GRAFTABL 结合 FIND 等命令试验,没有成功。)
论坛跳转: