[ Last edited by lianjiang2004 on 2007-7-31 at 06:29 PM ]作者: bjsh 时间: 2007-7-31 00:15 提示:findstr /n .* 可以获取行号。作者: lianjiang2004 时间: 2007-7-31 08:13 谢谢了,那如何获得指定行号的字符?作者: slore 时间: 2007-7-31 09:29 identifier是否除了ID就是{bootmgr} ,{default}?
那就简单多了……
2次findstr
第一次过滤有identifier的行
第二次过滤没有{bootmgr},{default}的行
硬是要上面的方法也不是不可以……麻烦点。
注意到有个ID,但是前面没有说明词,数了下是24个空格,所以:
findstr /c:" " 1.txt
pause
你的文本比较少不知道是不是都这样……
lianjiang这个ID见过嗬,你写过几个修改grldr的帖子,看着改了些东西嗬。
[ Last edited by slore on 2007-7-31 at 09:37 AM ]作者: bjsh 时间: 2007-7-31 09:45 请说说此ID行相对于其它行而言,独一无二的特征,不说清楚的话,代码很难写。作者: lianjiang2004 时间: 2007-7-31 10:35 能确定的特征就是位于grldr.mbr所在行的前两行。是否还有其它特征,目前不清楚。
-----------------------------------------
@echo off
bcdedit >bcdtemp.txt
findstr /n grldr.mbr bcdtemp.txt>nnn.txt
for,/f,"tokens=1 delims=:",%%i,In (nnn.txt) Do (
set nnn=%%i
)
echo nnn is %nnn%.
set /a nnn2=%nnn%-3
echo nnn2 is %nnn2%.
setlocal EnableDelayedExpansion
for,/f,"skip=%nnn2% tokens=2",%%i,In (bcdtemp.txt) Do (
set vid=%%i
if not !vid!.==. echo vid is !vid!.&&pause&&echo !vid!>vidn.ini&&goto :exit
)