如:启动时floppies_orig=0,就不这样处理。
floppies_orig=1,只对(fd0)处理 wenv call find /*似乎无效 原帖由 zxw 于 2010-12-24 11:39 发表 http://bbs.wuyou.net/images/common/back.gif
wenv call find /*似乎无效
在我印象中find不支持通配符。
回复 #244 zhaohj 的帖子
哦,我表述错误。是wenv call find /filename无效。 原帖由 zxw 于 2010-12-24 13:26 发表 http://bbs.wuyou.net/images/common/back.gif
哦,我表述错误。
是wenv call find /filename无效。
除非你查找的是虚拟软盘?find不会查找map --status外的盘符,如(fd2)
回复 #246 zhaohj 的帖子
添加了 --devices=chpu参数,查找的是ud内的文件。 哈哈,口说无凭啊,为何不来点实际的呢? 记得前几天也有人说find没有效果...忘了是谁了...最终还是不了了之.......
一般的猜测是自己使用的问题,..
就像上面的查找UD
你是否从fbinst启动了?没有从fbinst启动就不会有ud.
(虽然新版GRUB4DOS有全面支持ud类的文件系统,但(ud)设备还是只有从fbinst启动才会出现的)
回复 #249 chenall 的帖子
是从fbinst启动的 可否弄一个跟DOS的DIR一样的外部命令?习惯了DIR,可以不用记住文件全名。 原帖由 <i>sgw888</i> 于 2010-12-24 20:57 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2120266&ptid=180142" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />可否弄一个跟DOS的DIR一样的外部命令?习惯了DIR,可以不用记住文件全名。 <br />
用WENV的DIR命令试试.支持*和? 批处理中%~pnx1还有点小问题。
%~nx1正常,文件名和扩展名都在,哈哈,两个加起来正好:
%~p1
%~nx1
使用%~p1%~nx1
[ 本帖最后由 zhaohj 于 2010-12-26 14:01 编辑 ] 已经修复了,试试今天的版本. p、n、x扩展正常,目前就3个或组合吧? 和CMD一样.
%~dpnx
只是目前我们只是简单的处理,没有相对路径的支持.
回复 #255 chenall 的帖子
好的,%~pnx可以用了。呵呵,不再用%~p1%~nx1曲线救国了。 报告一个可能属于处理批处理方面的一个bug:
1.运行附件的简易run1批处理,进入.input段,不输入按回车欲configfile /boot/grub/menu.usr
却需要按两次回车才能成功,其中第一次按回车跟踪发现重新从start段运行。
2.运行附件的简易run2批处理一切正常。
[ 本帖最后由 zxw 于 2010-12-27 18:42 编辑 ] 这是你自己脚本的问题,虽然2看起来正常,但实际上第2个会占用越来越多的内存,并且得不到释放.
你可能对批处理不是很理解..
关于call/goto是有很大区别的.具体你可以再找找相关的资料看看.
回复 #260 chenall 的帖子
我本来一直用的第一个。我也知道第二个会比较占内存。为什么第一个不成功呢?应该没写错啊?我这样写的目的,是为了动态获取“路径”。 原帖由 zxw 于 2010-12-27 18:14 发表 http://bbs.wuyou.net/images/common/back.gif
我本来一直用的第一个。我也知道第二个会比较占内存。
为什么第一个不成功呢?应该没写错啊?我这样写的目的,是为了动态获取“路径”。
我前面已经说过了,
call/goto的应用有问题...
call执行之后还要继续执行后面的语句的.而goto不会.
你用exec虽然可以让它不执行后面的语句,但已经相当于又新执行了一次批处理..
目前我们有最多连续运行十个批处理的限制,所以如果你用第2个,那循环10次之后将会出现失败.
回复 #262 chenall 的帖子
汗,这么大个失误!!!!是自己疏漏了!!!!明白了,谢谢指点。 12-27g4d有问题,内存冲突,外置驱动的PE都无法运行。等会跟踪贴图
运行CSPE,进入DOS下出错
看下面,EXT.ZIP找不到,那怀疑FAT出错了
12-21的g4d还是正常的,估计是变量扩展修改出现的错误
[ 本帖最后由 zhaohj 于 2010-12-28 11:22 编辑 ] 应该和这里的变动有关系。
http://bbs.znpc.net/viewthread.php?tid=5948&page=3&fromuid=29#pid46997
我晚上再查一下。也许这个变动涉及到了更多的地方。。 GRUB4DOS和FAT新版都已经更新了.新的FAT只能在新版GRUB4DOS中使用,不兼容旧版. 新版从12-27版本开始,不知是引入了新的bug,还是有什么改变(似乎是内存分布?),0PE启动不成功。而12-25版本及以前的正常。未追踪测试。
[ 本帖最后由 zxw 于 2010-12-29 00:59 编辑 ] 11-28版,CSPE全换成新版grldr、grub.exe、wenv、fat,去掉goto、echo外部命令,使用g4d内置的goto/echo,cspe还是没有通过。
其他的如chainloader --force /COOLG/IMG/PXEIMG.0 ,PXEIMG.0就24kb是STARTROM.0
[ 本帖最后由 zhaohj 于 2010-12-29 11:21 编辑 ] 下面两个pe,用configfile .lst就能启动,而用批处理的就无法引导
debug off
terminal console
color white/blue blue/yellow light-red/blue 10
timeout 5
default 0
title RUN WIM PE2003
/COOLG/WIM.BAT
boot
title RUN IMG PE2003
/COOLG/IMG.BAT
boot
title RUN WIM PE2003 (LST)
configfile /COOLG/WIM.LST
title RUN IMG PE2003 (LST)
configfile /COOLG/IMG.LST
---------------------------------------------
img.bat内容:
!BAT
debug off
map --mem /COOLG/EXT.IMG.GZ (fd0)
map --hook
:command --set-path=(fd0)/GRUB/
insmod (fd0)/GRUB/WENV
insmod (fd0)/GRUB/FAT
pause --wait=0 Copy Net Drivers...
FAT copy /COOLG/NET.CAB (fd0)/
cat --length=0 /COOLG/OEM_NET.CAB && FAT copy /COOLG/OEM_NET.CAB (fd0)/
pause --wait=0 Coping Tools,Please waiting...
FAT copy /COOLG/IMG/CLIENT.INI (fd0)/
map --mem=0xb000 /COOLG/IMG/TOOLS.WIM (rd)
FAT copy (rd)+1 (fd0)/TOOLS.WIM
checkrange 0x21 read 0x82a0 && pxe keep && goto 1 ! goto 2
:1
cat --length=0 /COOLG/SERV_SET.BAT || goto 2
FAT copy /COOLG/SERV_SET.BAT (fd0)/
WENV calc aa=*0x8288&0xff
WENV set ip=${aa}
WENV calc aa=*0x8288>>8&0xff
WENV set ip=${ip}.${aa}
WENV calc aa=*0x8288>>16&0xff
WENV set ip=${ip}.${aa}
WENV calc aa=*0x8288>>24&0xff
WENV set ip=${ip}.${aa}
WENV call write --offset=0x100 (fd0)/SERV_SET.BAT \r\nset PXE_SERVER=${ip}\r\n
:2
WENV reset
delmod wenv
delmod fat
chainloader --force /COOLG/IMG/PXEIMG.0
img.lst内容就是把:?改成title就能启动
[ 本帖最后由 zhaohj 于 2010-12-29 10:47 编辑 ] 再贴个图,目前看来问题较多(12-28版本)
批处理都出问题了
[ 本帖最后由 zhaohj 于 2010-12-29 14:13 编辑 ]