Board logo

标题: [代码合集] 批处理if语句不能正确比较? [打印本页]

作者: edmond    时间: 2010-9-9 11:23     标题: 批处理if语句不能正确比较?

set t=ALLDDGDFDOFDO
setlocal enabledelayedexpasion
if  !t:~0,3!==ALL (echo wo) else (echo ta)
cmd 一闪而过不能正确比较,高人指点一下
作者: edmond    时间: 2010-9-9 11:24     标题: 写错了,纠正一下

setlocal enabledelayedexpasion
set t=ALLDDGDFDOFDO
if  !t:~0,3!==ALL (echo wo) else (echo ta)
cmd 一闪而过不能正确比较,高人指点一下
作者: TX_kakashi    时间: 2010-9-9 11:28

运行完了当然就自动结束了,所以会发现一闪而过。
在代码后面加一个pause就能看到运行的结果了。
作者: edmond    时间: 2010-9-9 12:02

知道要pause的,还是不行的,一闪而过!
作者: TX_kakashi    时间: 2010-9-9 12:12

这样就可以了
  1. setlocal enabledelayedexpasion
  2. set t=ALLDDGDFDOFDO
  3. if "!t:~0,3!"=="ALL" (echo wo) else (echo ta)
  4. pause
复制代码

作者: edmond    时间: 2010-9-9 12:19

谢谢了,确实可以了!字符串的比较和数值的比较是有区别的




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2