|
原帖由 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 编辑 ] |
|