无忧启动论坛

标题: 请教这两条条命令什么意思? [打印本页]

作者: my9823    时间: 2012-1-8 20:32
标题: 请教这两条条命令什么意思?
今天看了下0pe的grldr内置菜单,其中在显示屏幕提示下边有这样一条:
pause --wait=3 && set /A keyt=*0x4CB00

内存地址0x4cb00中的内容赋值给keyt变量?这个内存地址保存了什么东西,按键的十六进制代码么?

call Fn.0 0 0x8217 | set /u menu0pe=

管道命令前边什么意思?这句应该是赋值给menu0pe变量吧?
先行谢过各位大虾了!!!
作者: zhs509    时间: 2012-1-8 20:40
同样不懂。。。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=199447&page=1#pid2308289

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=191301&page=85#pid2333584

[ 本帖最后由 zhs509 于 2012-1-8 20:41 编辑 ]
作者: sratlf    时间: 2012-1-8 21:56
标题: 回复 #1 my9823 的帖子
pause --wait=3 && set /A keyt=*0x4CB00

0x4cb00存的是上一行命令的返回值  新版可以直接用 @retval 代替

原理上应该是等待3秒  然后获取按键码  不过连写貌似有点问题  这样keyt获取的永远是上一行命令的返回值  而不是pause时的按键码

call Fn.0 0 0x8217 | set /u menu0pe=

这个就当固定用法的  是直接调用grub内部函数的  输出0x8217内容
作者: my9823    时间: 2012-1-9 08:53
谢谢版主解答!
作者: sht123960585    时间: 2012-1-10 14:36
sratlf,谢谢解答,又多学了一点东西
作者: chenall    时间: 2012-1-10 16:28
标题: 回复 #3 sratlf 的帖子
pause --wait=3 && set /A keyt=*0x4CB00

这个可以正常获取的,但是如果是使用变量的方式就不行了如下就不行了,因为变量在执行之前就确定了。

pause --wait=3 && set /A keyt=%@retval%
作者: sratlf    时间: 2012-1-10 16:42
标题: 回复 #6 chenall 的帖子
明白了  还在纳闷为什么测试正常呢




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