|  | 
| 原帖由 zhaohj 于 2010-11-20 23:35 发表  现在焦点在FOR命令,我想知道这个与以前的不同点。
 wenv for /f "tokens=1-3 delims==," %i in ( file ) do (sub1) ]]& (sub2) ]]| (sub3) ]]! (sub4)
 还是??
 ]]!是第一个sub1的不成功就执行,还是??
 这个命令的解释.
 当
 for /f "tokens=1-3 delims==," %i in ( file ) do (sub1)
 执行返回值为真是执行后面的语句,否则执行 sub4
 
 而for语句的返回直是由(sub1)决定的.
 
 所以也可以解释为
 (sub1) ]]& (sub2) ]]| (sub3) ]]! (sub4)
 
 当sub1返回结果为假或sub2返回结果为真的时候都会执行sub4.
 
 另外新的测试也已经上传了
 这次带了源码,编译后比以前的版本小了1kb,但功能增强了,也更方便了.
 
 我小试了一下看起来没有问题,有空你们可以做一下更复杂的测试.等一段时间以后再把增强的功能加入到GRUB4DOS中.
 
 关于特殊符号的处理方式:
 1.连续两个""会处理成一个"
 2.为了安全起见,需要使用特殊字符时最好使用引号
 如: "abcd () ]]& def"
 3.一个命令或语句可以使用引号开头,这样它里面就可以包含特殊字符.
 如: wenv "echo \\  abcd ( "" abcdefgh   "
 执行时会自动去掉前后的引号.
 执行时显示: \\  abcd ( " abcdefgh   .
 
 [ 本帖最后由 chenall 于 2010-11-21 00:26 编辑 ]
 | 
 |