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

[其他] bat中if语句使用字母还是符号做比较符?

[复制链接]
发表于 2023-5-14 08:00:58 | 显示全部楼层 |阅读模式
我用if一直是用equ,gtr之类的字母来代表等于,大于等逻辑,但是我偶然看到论坛里有人发的代码是用双等于号"=="来比较?这样也行吗?哪种更正规一点?其他逻辑呢?大于也是两个大于号连着">>",小于也是两个小于号连着"<<"吗,这不就成了重定向符号了吗
发表于 2023-5-14 08:44:14 | 显示全部楼层
本帖最后由 jyswjjgdwtdtj 于 2023-5-14 08:52 编辑

bat不太了解 但是在c一系的语言里 ==,<,>是比较符号(返回布尔值) =是赋值符号(返回修改过后的左值)
所以说<< >>作为比较运算符肯定是错的

评分

参与人数 1技术 +1 收起 理由
LTSC1809 + 1 感谢回复

查看全部评分

发表于 2023-5-14 08:49:07 | 显示全部楼层
回复 1# LTSC1809
If 语句的标准形式如下:
  1. IF [NOT] ERRORLEVEL number command
  2. IF [NOT] string1==string2 command
  3. IF [NOT] EXIST filename command
复制代码
启用了扩展以后如下:

  1.     IF [/I] string1 compare-op string2 command
  2.     IF CMDEXTVERSION number command
  3.     IF DEFINED variable command

  4. 其中, compare-op 可以是:

  5.     EQU - 等于
  6.     NEQ - 不等于
  7.     LSS - 小于
  8.     LEQ - 小于或等于
  9.     GTR - 大于
  10.     GEQ - 大于或等于

  11. 而 /I 开关(如果指定)说明要进行的字符串比较不分大小写。
  12. /I 开关可以用于 IF 的 string1==string2 的形式上。这些
  13. 比较都是通用的;原因是,如果 string1 和 string2 都是
  14. 由数字组成的,字符串会被转换成数字,进行数字比较。
复制代码
所以If语句的比较符只有字母比较符和"=="
发表于 2023-5-14 08:54:14 | 显示全部楼层
我个人感觉用字母表示比较好

相较于其他语言,判断都是用 ==    !=    <=    >=  进行判断

而 Bat 里 if 好像就一个 ==  而其他的判断都是用字母表示

EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
发表于 2023-5-14 09:40:14 | 显示全部楼层
个人理解: 大于 小于 适用于数字比较,按同一类型 equ neq 也是用于数字比较的。==更偏向字符串,字母、汉字等的的比较。
发表于 2023-5-14 10:34:27 | 显示全部楼层
回复 1# LTSC1809


if的帮助文档里面没有">>"和"<<",还是得以帮助文档为基础。
 楼主| 发表于 2023-5-14 22:04:22 | 显示全部楼层
回复 6# Batcher 话是这样说,但是我在cmd中输入if /?给出的帮助也没有双等于号,只有equ,gtr这些字母,那为什么双等于号能用呢
 楼主| 发表于 2023-5-14 22:05:39 | 显示全部楼层
回复 5# hlzj88 但是我用equ比较字符串也能用,没有报错
发表于 2023-5-14 22:43:48 | 显示全部楼层
回复 7# LTSC1809


    再仔细看看帮助文档有没有==吧,实在看不到就算了,不必太纠结。
发表于 2023-5-15 09:37:20 | 显示全部楼层
  1. if /?
复制代码
是有==的

3楼已经说得很清楚了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 20:47 , Processed in 0.018644 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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