dos 批处理 for知识学习

来源:互联网 发布:linux怎么进入vim 编辑:程序博客网 时间:2024/06/07 06:55
用批处理FOR命令取出一个多行多列文本文件中某列值赋给变量Vi(i=1..n)的方法

若一文本文件file.txt有多行多列,各列以空格或TAB键分隔,中间有空行,其中某行行首字符存在分号,该行后可能还有无分号打头的行。

现在的问题是:若想取出某列如5列的值,分别赋给变量v1、v2、v3...,忽略空行,取至首个行首字符为分号的行结束,或取满10行结束。若用N表示变量v1、v2、v3中存在有效值的编号个数,即若取到5行有分号则N=4,若取满10行由N=10。现索解取得v1、v2、v3...及N值的批处理,请各位指点,谢谢!

我知道如下批处理只能取最后一个有效行的第5列值赋给变量V:
for /f "eol=; tokens=5 delims= " %%i in (file.txt) do set v=%%i


另有一问:
在批处理中用一句命令取出V%i%(i=1至10)的值,即在上面赋给的值,有几种方法
即:
set i=1至10的某一整数,如4
已知 V%i%(i=1至10)的值,先将其值赋给val,再显示的方法。
set val=V%i%????
echo val=%val%