无忧启动论坛

标题: 一段含有iftitle命令的grub4dos菜单内置前后执行的效果不一样? [打印本页]

作者: qj_tzy    时间: 2014-1-22 13:28
标题: 一段含有iftitle命令的grub4dos菜单内置前后执行的效果不一样?
本帖最后由 qj_tzy 于 2014-1-23 16:21 编辑



一段含有iftitle命令的grub4dos菜单内置前后执行的效果不一样?

使用grub4dos 0.45c-2013-11-30版本的grldr,将下段命名为temp.lst,并用grubmenu.exe或bootice.exe工具该段菜单内置入grldr。均用utf-8编码。

执行结果是:
1.configfile /xx/temp.lst时,显示4项菜单,是正常的。
2.chainloader --force /xx/grldr 或用wee菜单按command /xxx/grldr调用,或用xorboot_0.71调用,均只显示最后一项,iftitile项均不显示。见图。

现在的问题是:
1.感觉菜单文本没有任何问题,为何会出现如此问题
2.如何解决才能达到相同效果。


set pname1=111
set vname1=222
set rname1=333

default 0
timeout 10

iftitle [if exist pname1] %pname1%
boot

iftitle [if not "%vname1%"==""] %vname1%
boot

iftitle [if exist rname1] %rname1%
boot

title return main menu
boot



作者: qj_tzy    时间: 2014-1-23 09:05
本帖最后由 qj_tzy 于 2014-1-23 09:08 编辑

太怪,我在fbinstool 1.606中把grldr升级为0.45c-2013-11-30或0.45c-2014-1-17后用其自带的QEMU测试下段菜单文本,第1、2两菜单项应显示但未显示,第3-5项菜单项显示了,但3-4项不应显示。实在想不通iftitle命令为何这样,望高人指点,谢谢!

set pname1=abc
set vname1=222
set rname1=333

default 1
timeout 10

iftitle [if exist pname1] %pname1%
boot

iftitle [if not "%vname1%"==""] %vname1%
boot

iftitle [if not exist rname1] %rname1%
boot

iftitle [if "%rname1%"==""] %rname1%
boot

title return main menu
boot

作者: chenall    时间: 2014-1-23 15:48
iftitle 语句执行的时候上面的菜单命令还没有执行呢....

iftitle和title都是在菜单初始化之前就已经处理完成了.

再说了这样有什么意义?



作者: qj_tzy    时间: 2014-1-23 16:21
chenall 发表于 2014-1-23 15:48
iftitle 语句执行的时候上面的菜单命令还没有执行呢....

iftitle和title都是在菜单初始化之前就已经处理 ...

指导得太及时了,我明白了为何得不到我所需的正确结果的原因。
这样一来我的问题就得到了解决。
再次表示衷心的感谢!





欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3