无忧启动论坛

标题: 如何将read命令读的值存入某变量中(1#、5#问题圆满解决,7#有问题)? [打印本页]

作者: sunsea    时间: 2012-2-28 15:46
标题: 如何将read命令读的值存入某变量中(1#、5#问题圆满解决,7#有问题)?
如何将read命令读的值存入某变量中?(比如说abc)

[ 本帖最后由 2011czmxbb52 于 2012-3-1 06:08 编辑 ]
作者: zhaohj    时间: 2012-2-28 22:24
置顶帖grub4dos0.4.5b帮助文档中有比较详细的说明,就不重复了。
作者: blithewind    时间: 2012-2-28 23:56
其实不用read命令,直接赋值就可以了。
比如:
read 0x8280
若光驱启动,一般显示Address 0x8280: Value 0x9F

只要
set /A bd=*0x8280
则将地址0x8280的值0x9f赋值给变量bd了。
作者: blithewind    时间: 2012-2-29 00:00
原帖由 blithewind 于 2012-2-28 23:56 发表
其实不用read命令,直接赋值就可以了。
比如:
read 0x8280
若光驱启动,一般显示Address 0x8280: Value 0x9F

只要
set /A bd=*0x8280
则将地址0x8280的值0x9f赋值给变量bd了。



上个图:

作者: sunsea    时间: 2012-2-29 18:33
现在是这个问题:如何读一片区域(比如说0x2000000-0x20000FF)的内容到一个变量里(否则还是用一般参数传递算了)写一片区域呢?

[ 本帖最后由 2011czmxbb52 于 2012-2-29 18:37 编辑 ]
作者: sratlf    时间: 2012-2-29 19:56
标题: 回复 #5 2011czmxbb52 的帖子
cat --length=0xff (md)0x10000+1 | set tmp=

不一定能达到你要求
作者: sunsea    时间: 2012-3-1 06:04
原帖由 sratlf 于 2012-2-29 19:56 发表
cat --length=0xff (md)0x10000+1 | set tmp=

不一定能达到你要求

那把Tmp变量的值写到0x200000—0x2000ff这个地方呢(假设变量值长正好256字节)
作者: zhaohj    时间: 2012-3-1 09:09
你可以用dd命令,也可以用>重定向,不一定要用变量,因为变量值有512限制
如:
dd if=(fd0) of=(fd1) count=1
dd if=(fd0)/file1 of=(md)0x200+1 bs=512 count=1
cat --hex --length=0x200 (fd0)/file > (md)0x200+1
......




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