| 
 | 
!BAT 
::id与length都是动态的?如是,不用wenv的话可以这样: 
set id="PCI\VEN_8086&DEV_27C1&CC_0106","iaStor" 
set tmp=%@retval% 
set length=21 
set /a tmp=%tmp%-%length% 
echo -n %id% > (md)0x200+1 
cat --skip=%tmp% (md)0x200+1 | set tmp= 
::最后获取的tmp值应该就是你想的结果。 
========================= 
猜测你实际想要提取的结果是:PCI\VEN_8086&DEV_27C1 
如不能确定是否有引号,可以这样: 
set id="PCI\VEN_8086&DEV_27C1&CC_0106","iaStor" 
set length=21 
call :man_char %id% 
exit 
:man_char 
echo -n %~1 > (md)0x200+1 
cat --length=%length% (md)0x200+1 | set tmp= 
exit 
 
[ 本帖最后由 zxw 于 2011-10-14 16:01 编辑 ] |   
 
 
 
 |