一,先来看/F 参数
格式:
FOR /F ["options"] %%variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %%variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %%variable IN ('command') DO command [command-parameters]
用法:
常用于文本信息编辑,如查询、提取、替换等等。
迭代及文件解析,使用文件解析来处理命令输出、字符串及文件内容。
注意:
带引号的字符串"options"包括一个或多个指定不同解析选项的关键字:eol=、skip=、delims=、tokens=和usebackq。后面将逐个讲解。
先创建一个文本文件a.txt,内容如下:
将本内容保存好,后面内容都要用到该文本做试验。
二,eol=c 忽略以某字符开头的行
格式:
FOR /F "eol=c" %%I IN (Command1) DO Command2
用法:
eol=c
一句话总结:表示忽略(隐藏、屏蔽)开头字符是C的行。
“指定行尾字符(仅一个字符)。”这是帮助文件里的话,目前不理解它的用法。
Eol=
默认情况下屏蔽冒号开头的行
如果C是文本某行开头第一个字符,即“eol=a”,它将在屏幕上屏蔽掉以a开头的行。
例如:文本“静夜思.txt”的内容是:
床前明月光,
疑是地上霜;
举头望明月,
低头思故乡。
如何忽略掉文本文件a.txt中的第三行:“举头望明月,”?
运行结果将隐藏第三行。
注意:
如果忽略的字符串的开头是重复字符,则EOL后只需截取一个字符。
如要“aaa”,“eol=”后只需一个“a”就可以了。同样,双冒号“::”只取一个。
三,skip=n 忽略前N行
格式:
FOR /F "skip=n" %%I IN (Command1) DO Command2
用法:
一句话总结:忽略文本开头的前N行。
skip=n表示忽略(屏蔽、隐藏)从第一行到第N行的内容。(n>0)
例:忽略文本a的前四行。
运行结果将只显示第五行。