联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
input:中文 4
input:English 7
input:中文+English 12
@echo off set/p input=输入: set str=%input% :loop set str=%str:~1% set/a n+=1 if not "%str%" == "" goto loop for /f "skip=1 delims=:" %%i in ('^(echo "%input%"^&echo.^)^|findstr /o ".*"') do set/a l=%%i-5 if %n% == %l% ( echo 字符串 %input% 不包含双字节字符 ) else ( echo 字符串 %input% 包含双字节字符 ) pause>nul exit
读取第一个数字后,首先用批处理判断是不是空格,若不为空格,则通过: echo %x%>3.txt 然后读取 3.txt 的文件大小是一个字节还是两个字节来判断是不是汉字。
Originally posted by everest79 at 2008-1-4 21:16: zh159 嘿嘿,findstr的o参数也是我研究这个才发现的,不过这样子代码就显得太长了一点,所以想问问有没有别的方法 lxmxn 若是有简单一点的VBS脚本也可以
@echo off set/p input=: >ascw.vbs echo Wscript.echo ascw(wscript.arguments(0)) for /f %%i in ('"cscript //nologo ascw.vbs %input%"') do ( if %%i leq 255 ( echo %input% 不是双字节字符 ) else ( echo %input% 是双字节字符 ) ) pause
:ok我 ok我 不是双字节字符 请按任意键继续. . .
@echo off set/p input=: >ascw.vbs echo str=wscript.arguments(0):result="不":for i=1 to len(str):if ascw(mid(str,i,1))^>255 then:result="":exit for:end if:next:Wscript.echo result^&"包含双字节字符" for /f %%i in ('"cscript //nologo ascw.vbs %input%"') do echo %input% %%i pause