title img&iso
WENV set path=$U,$input,Input the path,begin with "/" :
WENV run find --set-root ${path}
WENV set de=${path:-3:2}
WENV get de=IM && WENV run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader ()+1 && boot
WENV run map --mem ${path} (0xff) && map --hook && chainloader (0xff) && boot
kernel
测试加载img正常 加载iso执行到map --mem完成 下面应该执行map --hook 却提示 No such command : WENV
用这个菜单却完全正常 加载iso和img都没问题
title mg&iso use ISO as default
WENV set path=$U,$input,Input the path, begin with "/" :
WENV run find --set-root ${path}
WENV set de=$U,$input,Input please: //需手动输入IMG来加载IMG 默认加载ISO
WENV get de=IMG && WENV run map --mem ${path} (fd0) && map --hook && rootnoverify (fd0) && chainloader ()+1 && boot
WENV run map --mem ${path} (0xff) && map --hook && chainloader (0xff) && boot
kernel
title img&iso
WENV set path=$U,$input,Input the path,begin with "/" :
WENV run find --set-root ${path}
WENV set de=${path:-3:2}
WENV get de=IM && WENV run map --me ...
WENV SET A=123:456:789:ABC
以":"分割
提取第一个元素
WENV SET b=${A%%:}
b=123
提取最后一个元素
wenv set b=${A##:}
b=ABC
提取第二个元素
wenv set b=${a#:}//去掉第一个元素
wenv set b=${b%%:}//再提取第一个元素.
最终的b=456
根据以上方法想提取哪一个都行,只是需要执行多次.^_^,会考虑增强一下.
title img&iso
WENV set path=$U,$input,Input the path,begin with "/" :
WENV run find --set-root ${path}
WENV set de=${path:-3:2}
WENV get de=IM && WENV run map --me ...
这个应该是 get de=IM 返回了真值,后面的 rootnoverify (fd0) 执行导致路径改变
提取变量不行,手动输入可以,的情况比较奇怪,可以这样试试
输入path之前先清空
WENV set path=
WENV set path=$input,.....
输入路径时在后面加个\0
这个测试是检查输入path时如用了tab自动完成路径,它会在后面加一个空格,这样会导致后面的截取不是IM。而用手动输入IM是不可能是tab键完成的,就不会有问题
或者干脆在
WENV set de=${path:-3:2}
之后
WENV get path && WENV get de && pause any key ...
看看字符串截取是否正常