zxw 发表于 2010-12-24 11:38:25

回复 #60 2010lifefx 的帖子

用7z打开……...

zxw 发表于 2010-12-24 11:52:21

回复 #59 黑色蛋挞 的帖子

我这里测试没有问题。

zhaohj 发表于 2010-12-24 11:54:44

>9个菜单,编号统一用两位数看起来舒服点。

2010lifefx 发表于 2010-12-24 12:08:23

晕倒原来是压缩了两层。第一层解出来的run还是个压缩文件

不过我这里还是不能正常文件列表。

真机测试问题一样。

2010lifefx 发表于 2010-12-24 13:03:00

分段替换了下。可以确定是:.autolist段的问题。

用旧版的
:.autolist
WENV check "#.txt#"=="#%~x1#" && goto :eof
WENV check "%~x1"=="" && goto :eof
WENV calc i++
WENV calc tt++
WENV set tlen=%~1
WENV check "${tt}"<>"3" ]]& set ttn=-n ]]& set ttm=t ]]! reset tt*
WENV check ${tlen,?}<=12 ]]| reset ttm
WENV check ${tlen,?}>=25 ]]& reset t*
WENV set N${i}=%~1 ]]& call echo -e ${ttn} \t$${i}$. $%~1\${ttm}
goto :eof

替换新版的
:.autolist
WENV check "%~x1"==".TXT" && goto :eof
WENV check "%~x1"=="" && goto :eof
WENV (calc i++ ; calc ij++ ; set tnn=%~1 ; set N${i}=%~1 ; reset trt)
WENV calc tln=${tnn,?}
WENV calc tls=${tln}+${i,?}+2
WENV check "${ij}"=="1" ]]& set tlt=\t ]]! reset tlt
wenv calc ik=tls%%24
wenv calc ij=tls/24+ij
WENV calc tbl=ij*-24-tln+94
WENV calc ttn=tls%%24/8*-1+3
WENV for /l %%i in (1,1,${ttn}) do set trt=$${trt}\t
WENV check "${ik}"=="0" ]]& reset trt ]]& calc ij=tls/-24+ij
WENV check "${ij}">="3" ]]& call checkrange 1:22 calc ${tbl} ]]& reset ij ]]& set trt=\n
WENV check "${ij}">="3" ]]& call checkrange 23:-1 calc ${tbl} ]]& set tlt=\n\t ]]& set ij=1
WENV call echo -e -n ${tlt}$${i}$. $%~1${trt}
goto :eof

可以显示列表可以引导文件。

尝试读代码排错,读不懂!!!

2010lifefx 发表于 2010-12-24 13:32:19

WENV for /l %%i in (1,1,${ttn}) do set trt=$${trt}\t

这行注释掉就可以显示列表。当然是堆在一起的列表


修改就不会了。的慢慢尝试。

为什么你那里行我这里就不行呢。

wenv和grub4dos都是新版的

zxw 发表于 2010-12-24 13:46:20

回复 #66 2010lifefx 的帖子

wenv 是用的chenall还是tuxw的?

你把:WENV calc ttn=tls%%24/8*-1+3
改为:WENV calc ttn=tls/8*-1+3
试试,估计不行。

算了,我还是少用for为妙,估计是内存的关系。

[ 本帖最后由 zxw 于 2010-12-24 13:51 编辑 ]

zxw 发表于 2010-12-24 13:52:59

回复 #63 zhaohj 的帖子

可以改,但增加计算量,消耗内存。没多大必要。

chenall 发表于 2010-12-24 14:06:43

原帖由 zxw 于 2010-12-24 13:52 发表 http://bbs.wuyou.net/images/common/back.gif
可以改,但增加计算量,消耗内存。没多大必要。

直接使用100开始,取后面两位就OK了吧.

2010lifefx 发表于 2010-12-24 14:29:13

原帖由 zxw 于 2010-12-24 13:46 发表 http://bbs.wuyou.net/images/common/back.gif
wenv 是用的chenall还是tuxw的?

你把:WENV calc ttn=tls%%24/8*-1+3
改为:WENV calc ttn=tls/8*-1+3
试试,估计不行。

算了,我还是少用for为妙,估计是内存的关系。

试了,不行。

我用的是tuxw修改的 2010-12-14这个WENV

胡乱改发现的

好像是set trt=$${trt}\t这个语句的问题。

改成set trt=${trt}\t能显示列表,但是一堆那种。 多了一个$就不出列表死掉了。

[ 本帖最后由 2010lifefx 于 2010-12-24 14:31 编辑 ]

2010lifefx 发表于 2010-12-24 14:39:11

原帖由 zxw 于 2010-12-24 11:52 发表 http://bbs.wuyou.net/images/common/back.gif
我这里测试没有问题。
108914


还有为啥你的带文件夹我的文件夹下面的不出来呢?

zxw 发表于 2010-12-24 14:43:10

回复 #69 chenall 的帖子

还是c大高明,妙!.
呵,还可以减少计算量。

黑色蛋挞 发表于 2010-12-24 14:53:49

回复 #62 zxw 的帖子

受不了了. 高手是否想的都过于高深了.
run的命令我是照葫芦画瓢.
---------------------------------
run (hd0,0)/iso/.input
---------------------------------
经过无意中测试我发现直接
---------------------------------
run (hd0,0)/iso/
---------------------------------
不加后面的.input就可以使用了
确认run文件使用没有问题
但是有以下疑问请指教
---------------------------------
find --set-root /hsf.txt 为什么不能用此语句定位U盘根目录后
在直接
run /iso/   这样可以不用让U盘在不同的硬盘环境中都可以使用.
或者是我水平不够.请指教

[ 本帖最后由 黑色蛋挞 于 2010-12-24 15:15 编辑 ]

2010lifefx 发表于 2010-12-24 15:04:38

回复 #73 黑色蛋挞 的帖子

确实啊。不加 .input反而正常了。有文件列表了。




[ 本帖最后由 2010lifefx 于 2010-12-24 15:07 编辑 ]

zxw 发表于 2010-12-24 15:06:51

原帖由 黑色蛋挞 于 2010-12-24 14:53 发表 http://bbs.wuyou.net/images/common/back.gif
经过无意中测试我发现直接
---------------------------------
run (hd0,0)/iso/
---------------------------------
不加后面的.input就可以使用了 ...
这样也行。但是run (hd0,0)/iso/.input也应该可以,怪了。

[ 本帖最后由 zxw 于 2010-12-24 15:10 编辑 ]

2010lifefx 发表于 2010-12-24 15:09:29

原帖由 zxw 于 2010-12-24 15:06 发表 http://bbs.wuyou.net/images/common/back.gif

这样也行?这是一个bug

不知道啥BUG,反正正常了。哈哈

title /IOS/input
/BOOT/GRUB/BAT/BAT /ISO/.input
boot

title /ISO/
/BOOT/GRUB/BAT/BAT /ISO/
boot

6不行,7行

[ 本帖最后由 2010lifefx 于 2010-12-24 15:10 编辑 ]

黑色蛋挞 发表于 2010-12-24 15:14:12

回复 #75 zxw 的帖子

大佬 我反反复复折腾了好久 才发现的
我水平差. 你们代码都看不懂.都是拿来主义.看别人怎么用的经验 自己一步步测试
我发现还有这样的问题 提供下
启动grub后. 直接进入控制台命令
运行 run (hd0,0)/iso/.input也是可以出现列表的
但是输入数字后.按回车. 我用的vmware 7的版本就直接报错.提示需要将虚拟机重新启动.

[ 本帖最后由 黑色蛋挞 于 2010-12-24 15:16 编辑 ]

zxw 发表于 2010-12-24 15:14:48

回复 #76 2010lifefx 的帖子

才仔细看了一下,这不是bug.这样使用是正常的。
但是run (hd0,0)/iso/.input也应该可以,我再看一下。

zxw 发表于 2010-12-24 15:16:00

回复 #77 黑色蛋挞 的帖子

可能是使用了for,消耗内存相对较大。

黑色蛋挞 发表于 2010-12-24 15:20:40

回复 #79 zxw 的帖子

大佬. 能否提供个办法
不让run 后面接 绝对路径
就像 grub里面的find 命令可以定位硬盘

2010lifefx 发表于 2010-12-24 15:31:07


WENV check "%~nx1"=="" && goto .input ! WENV set name=$U,%~nx1

这行后面加了行

WENV check "%~nx1"==".input" && goto .input ! WENV set name=$U,%~nx1

.input也可以了。

=。=

查找了。你没有“.input”的判断。能进去才是BUG,哈哈

[ 本帖最后由 2010lifefx 于 2010-12-24 15:37 编辑 ]

zxw 发表于 2010-12-24 15:56:34

回复 #81 2010lifefx 的帖子

call call :%~x1 ${path}${name}
或者goto :%~x1 都可以进去。

2010lifefx 发表于 2010-12-24 16:12:33

原帖由 zxw 于 2010-12-24 15:56 发表 http://bbs.wuyou.net/images/common/back.gif
call call :%~x1 ${path}${name}
或者goto :%~x1 都可以进去。

call call :%~x1 ${path}${name}

%~x1是输入的参数?还是RUN?

如果是RUN 那就变成死循环了 一直调用 RUN /path/.input

goto :%~x1这个语句在RUN中没找到。

%~x1是输入的参数?还是RUN?

[ 本帖最后由 2010lifefx 于 2010-12-24 16:15 编辑 ]

zxw 发表于 2010-12-24 16:20:44

回复 #83 2010lifefx 的帖子

知道dos的批处理不?不知道的话去学习一下。
这里的%~x1 、%~nx1 等与dos的批处理是一样的。

[ 本帖最后由 zxw 于 2010-12-24 16:22 编辑 ]

2010lifefx 发表于 2010-12-24 16:59:23

call call :%~x1 ${path}${name}
这个读懂了。

我用
wenv echo 和 “$Input”命令单步执行 得到如下结果

通过call call :.input /path/.input

进入.input分支后在第一次执行到:.autolist分支的WENV for /l %%i in (1,1,${ttn}) do set trt=$${trt}\t 行时 系统死掉。

将set trt=$${trt}\t换掉。例如换成“set trt=\t” 这个for循环能正常执行。

通过goto .input

进入.input分支后。全部一切正常。

lhteee 发表于 2010-12-24 21:19:43

如果菜单列表中有一个返回原菜单项就比较完美了。
Str的RUN的自动列菜单中有返回原菜单项。

sratlf 发表于 2010-12-24 21:29:16

@zxw

dos时代菜鸟的工具箱和maxdos工具箱调用内部工具的处理不太好我写的diskgenius只是个例子

RUN /BOOT/IMGS/DTS.IMA 1c更改1c为其他可以启动不同的工具如3a是运行ghost6a是清除系统密码等或者两个连用4c1 3a 是调用 ifsdrv—ntfs驱动装载再ghost备份/恢复

你的处理方式使得这两个工具箱只能调用diskgenius一种工具

不过不着急等你把文件列表搞定再改吧先记得有这个问题就行了

Plantsoot 发表于 2010-12-24 21:31:49

这几天忙没什么时间看论坛,zxw 大又出好东西了,呵呵,支持一下。

zxw 发表于 2010-12-24 22:15:02

原帖由 sratlf 于 2010-12-24 21:29 发表 http://bbs.wuyou.net/images/common/back.gif
@zxw

dos时代菜鸟的工具箱和maxdos工具箱调用内部工具的处理不太好我写的diskgenius只是个例子

RUN /BOOT/IMGS/DTS.IMA 1c更改1c为其他可以启动不同的工具如3a是运行ghost6a是清除系统密码等   ...
你说的不错,我只是想搞定列表的问题,力求简单高效。调用diskgenius等只是顺便的事,有兴趣的话,以后再搞。

@Plantsoot :
我什么时候出好东西了?我是菜鸟一只,别折杀我了。

[ 本帖最后由 zxw 于 2010-12-24 22:16 编辑 ]

yjd 发表于 2010-12-25 10:39:01

几个月没来。。grub4dos又强大了囧。
页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: [20150128]自动列表·自动菜单·数字启动