|
本帖最后由 不知 于 2016-11-4 11:43 编辑
用了一种特别麻烦的方式,实现了字符串的提取。主要是cat --locate=String 命令不知怎么计算的(也有可能是我用的版本有问题),有时直接数的和命令运行结果不一样,有时又一样,重复多次才能得到正确的结果。
得到字符串后,用calc命令得到对应的数,如
得到size: calc %size%
得到count : calc %count%*%size%
应该有直接的方法,只是cat的问题没法直接复制。
getifo内容:
!BAT
set device=%1
if ""=="%device%" goto help
geometry %device% > (md)0x80000+1
cat --locate=drive --replace=@@@@@@@@@@ (md)0x80000+1
cat --locate=: --replace=@@@@@@@@ (md)0x80000+1
cat --locate=, --replace=@@@@@@@@@@@@@@@@@@@ (md)0x80000+1
cat --locate== (md)0x80000+1 | set skip=
dd if=(md)0x80000+1 of=(md)0x80000+1 bs=1 skip=%skip%
cat --locate== (md)0x80000+1 | set skip=
dd if=(md)0x80000+1 of=(md)0x80000+1 bs=1 skip=%skip%
cat --locate== (md)0x80000+1 | set skip=
dd if=(md)0x80000+1 of=(md)0x80000+1 bs=1 skip=%skip%
cat --locate== (md)0x80000+1 | set skip=
dd if=(md)0x80000+1 of=(md)0x80000+1 bs=1 skip=%skip%
dd if=(md)0x80000+1 of=(md)0x80000+1 bs=1 skip=1
cat --locate=/ (md)0x80000+1 | set skip=
dd if=(md)0x80000+1 of=(md)0x80001+1 bs=1 skip=%skip%
dd if=(md)0x80001+1 of=(md)0x80001+1 bs=1 skip=1
cat (md)0x80000+1
cat (md)0x80001+1
cat (md)0x80000+1 | set count=
cat (md)0x80001+1 | set size=
echo Sector Count=%count%
echo Sector Size=%size%
goto eof
:help
echo getifo device
echo such as getifo (fd0)
:eof
|
|