标题: [其他] 检测用户的cmd是否支持中文的批处理代码 [打印本页]
作者: raymai97 时间: 2011-8-21 22:45 标题: 检测用户的cmd是否支持中文的批处理代码
很多时候我们都不肯定用我们批处理的用户的cmd是否支持中文,虽说大多数用户都装中文版windows,cmd支持中文,但有些用户比如我,是安装英文版的,默认页面为437(美国),所以默认无法在cmd正确显示中文。
为了这个,俺测试过用临时文件,用if来检测是否中文,皆以失败告终。
突然想起chcp命令,于是到网上找找关于chcp的东西,果然找到chcp代码表(附link:http://www.daohei.com/post/p.asp?/=1462),然后用xp虚拟机测试了下,果然成功了~
代码:- @echo off
- chcp 936>nul 2>nul
- if errorlevel 1 (echo Your CMD not support chinese.) else (echo 恭喜,你的批处理支持中文。)
- pause>nul
复制代码
如果errorlevel为1,就代表不支持中文,而此代码则会显示出“Your CMD not support chinese.”
如果不是为1,就显示“恭喜,你的批处理支持中文”。
大家可以根据需求修改~
作者: garyng 时间: 2011-11-9 19:04
收藏了~
有用~
我的机子可以呢!
作者: awk 时间: 2011-12-1 13:36
回复 3# peter1123
不支持中文一般是没有安装中文语言包,这种情况下文件路径里面怎么会有中文?
作者: CrLf 时间: 2011-12-1 20:23
也许可以通过检查 nls 文件是否存在于 path 目录来判断...- for %a in (C_936.nls) do if "%~$path:a"=="" (echo 不支持) else echo 支持
复制代码
作者: 秋风·飞扬 时间: 2012-5-9 12:06
回复 5# CrLf
版主,我在讲一个文件的中文字用批处理复制到另个文件之后是乱码字,这个该怎么办呀, 原文件中“在线” 在另一个文件变成了“ 鍦ㄧ嚎”
作者: bluewing009 时间: 2012-5-10 00:01
回复 6# 秋风·飞扬
怎么复制的?再次复制一样么?
作者: gawk 时间: 2012-5-10 13:17
回复 7# bluewing009
UTF-8编码
作者: 秋风·飞扬 时间: 2012-5-11 10:35
回复 7# bluewing009
恩。是编码问题,最近在等群主更新iBAT的转编码功能,真的没办法了,batcher点我一句,现在也没弄明白....
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |