本帖最后由 CrLf 于 2011-8-18 20:16 编辑
for 命令的递归无法被打断,即使 goto 也必须等到递归完毕才执行跳转,而 call 虽然立刻从循环中跳到指定标签,但是出来混总得还的,调用结束后仍要回到 for 中继续循环。
if 没有与和或,但是可以构造一个:- set /a a=12,b=34
- if %a%@%b%==12@34 echo 变量 a==12,且变量 b==34
复制代码
- if 017 equ 15 set equ=1
- if 16 equ 15 set equ=1
- if defined equ echo 017 或 16 等于 15
- ::或
复制代码
- if 017 equ 15 set /a equ+=1
- if 0xf equ 15 set /a equ+=1
- if !equ!==2 echo 017 与 0xf 均等于 15
- ::与
复制代码 用 set /a 实现或和与:- set /a "test/=!!(017-15)+!!(0xf-15)" 2>nul||echo 017 与 0xf 均等于 15
- set /a "test/=!!(017-15)*!!(0xf-15)" 2>nul||echo 017 或 0xf 等于 15
复制代码
|