文件x.txt,共40行,如下格式:
ABC=11111
ABC=22222
ABC=33333
...
ABC=44444
需要读取每行,把=号后的值赋给变量。
写了2段代码来实现,代码1处理完得7秒多,代码2得6秒多,目前文件内容才40行就这么耗时。- -!
求更好的解决方法!
代码1:
for /f "tokens=1 delims=:" %%i in ('findstr /n "." x.txt') do @set tl=%%i
set line=0
set j=0
for /l %%i in (1,+1,%tl%) do (
set /a line+=1
set /a j+=1
for /f "tokens=1,3* delims=:=" %%a in ('findstr /n . x.txt') do if %%a==!line! set "n=%%b"
set Value!j!=!n!
)
代码2:
for /f "tokens=1 delims=:" %%i in ('findstr /n "." x.txt') do @set tl=%%i
set j=0
for /l %%i in (1,+1,%tl%) do (
set /a j+=1
for /f "tokens=1,2* delims==" %%a in ('sed -n "!j!p" x.txt') do set "n=%%b"
set Value!j!=!n!
)
[
Last edited by bugs on 2010-9-10 at 04:25 ]