[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 批处理if命令为何不能正常处理〇这个字符?

  1. @echo off
  2. if "〇"=="" (echo 〇为空)else echo 〇不为空
  3. rem 显示〇为空
  4. if "12〇34"=="1234" (echo 相同)else echo 不同
  5. rem 显示相同
  6. if 12〇34==1234 (echo 相同)else echo 不同
  7. rem 显示相同
  8. pause
复制代码

原帖由 namejm 于 2010-4-6 16:20 发表
  这个问题很有意思,貌似 〇 在这里被当做空值来处理了,迷惑中。

  不过,你的代码有点小问题,else和后括号连在一起了,只是对结果没什么影响。


俺以前也是好孩子,按着语法中规中矩的写。。。只是后来跟某些人学坏了,能少打一个字符就少打一个字符,连空格都不放过,嘿嘿。

在写一个批处理,其中一个变量的值的字符串中含有〇这个字符,我就计算不明白这个变量的值有多少个字符了。怎么弄结果都不对。后来才发现是〇这个字符引起的。

TOP

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.


C:\Documents and Settings\寒夜孤星>if "〇"=="" (echo 〇为空)else echo 〇不为空
〇为空


C:\Documents and Settings\寒夜孤星>if "12〇34"=="1234" (echo 相同)else echo 不同
相同


C:\Documents and Settings\寒夜孤星>if 12〇34==1234 (echo 相同)else echo 不同
相同


C:\Documents and Settings\寒夜孤星>


俺的系统是  xp sp3 。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表