1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| :: 清屏并关闭命令显示,只显示结果。非必需,主要是输出简洁一点 @echo off
:: UTF-8编码 chcp 65001
:: 变量延迟扩展,这样才能使用!var!变量,否则变量会不更新 setlocal enabledelayedexpansion
:: 设置变量,等号左右不能有空格! set linenum=0
:: for循环,遍历文件的每一行 :: /f 打开文件 :: eol: 注释行,以eol开头的会忽略 :: skip: 循环时先跳过多少行,至少为1,非必需参数 :: tokens: 分隔后取哪几个,从1开始,支持1-7,1,*等写法,*代表“余下所有”代表一个token,默认只取第一个 :: delims: 每行分隔符,这里是=(等于号),默认是空格和tab for /f "skip=1 tokens=1,* delims==" %%a in (filename) do ( :: 这里拿到了一行的内容,%%a代表行内第一个token,%%b代表行内第二个token,以此类推,必须按照英文字母顺序排列! echo key = %%a value = %%b :: 已读行数自增,也可以写作 set /a linenum = 1 + !linenum! set /a linenum += 1 echo linenum = !linenum! if !linenum! == 2 ( :: 第二行结束就提前中断,bat没有break语句... goto next ) )
:next
|