找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28202|回复: 8

[其他] 检测用户的cmd是否支持中文的批处理代码

[复制链接]
发表于 2011-8-21 22:45:44 | 显示全部楼层 |阅读模式
很多时候我们都不肯定用我们批处理的用户的cmd是否支持中文,虽说大多数用户都装中文版windows,cmd支持中文,但有些用户比如我,是安装英文版的,默认页面为437(美国),所以默认无法在cmd正确显示中文。

为了这个,俺测试过用临时文件,用if来检测是否中文,皆以失败告终。
突然想起chcp命令,于是到网上找找关于chcp的东西,果然找到chcp代码表(附link:http://www.daohei.com/post/p.asp?/=1462),然后用xp虚拟机测试了下,果然成功了~

代码:
  1. @echo off
  2. chcp 936>nul 2>nul
  3. if errorlevel 1 (echo Your CMD not support chinese.) else (echo 恭喜,你的批处理支持中文。)
  4. pause>nul
复制代码
如果errorlevel为1,就代表不支持中文,而此代码则会显示出“Your CMD not support chinese.”
如果不是为1,就显示“恭喜,你的批处理支持中文”。

大家可以根据需求修改~

评分

参与人数 1PB +6 收起 理由
lxzzr + 6 这个倒是有点用!

查看全部评分

发表于 2011-11-9 19:04:35 | 显示全部楼层
收藏了~
有用~
我的机子可以呢!
发表于 2011-12-1 13:36:11 | 显示全部楼层
回复 3# peter1123


不支持中文一般是没有安装中文语言包,这种情况下文件路径里面怎么会有中文?
发表于 2011-12-1 20:23:25 | 显示全部楼层
也许可以通过检查 nls 文件是否存在于 path 目录来判断...
  1. for %a in (C_936.nls) do if "%~$path:a"=="" (echo 不支持) else echo 支持
复制代码
发表于 2012-5-9 12:06:31 | 显示全部楼层
回复 5# CrLf


    版主,我在讲一个文件的中文字用批处理复制到另个文件之后是乱码字,这个该怎么办呀, 原文件中“在线” 在另一个文件变成了“ 鍦ㄧ嚎”
发表于 2012-5-10 00:01:56 | 显示全部楼层
回复 6# 秋风·飞扬


    怎么复制的?再次复制一样么?
发表于 2012-5-10 13:17:03 | 显示全部楼层
回复 7# bluewing009


    UTF-8编码
发表于 2012-5-11 10:35:22 | 显示全部楼层
回复 7# bluewing009


    恩。是编码问题,最近在等群主更新iBAT的转编码功能,真的没办法了,batcher点我一句,现在也没弄明白....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:10 , Processed in 0.014592 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表