在bat批处理脚本中,"for /f"常用来解析文本,读取字符串。常用的参数有delims和tokens,其中delims负责指定分割符,tokens指定需要提取的列。作用和linux系统中awk的-F和$类似。
一、准备实验环境:
创建1.txt,内容如下
脚本代码1
for /f %%i in (1.txt) do echo %%i
在没有delims和tokens控制,会输出1.txt的全部内容。
脚本代码2
for /f "delims=." %%i in (1.txt) do echo %%i
以.作为分割符,没有tokens,默认提取的是第一个分割符前面的内容。
脚本代码3
for /f "delims=.- tokens=2" %%i in (1.txt) do echo %%i
以.和-作为分割符,提取第二列,常用来提取指定的列。
脚本代码4
for /f "delims=.- tokens=1,2" %%i in (1.txt) do echo %%i %%j
以.和-作为分割符,提取第一列和第二列。“%%i %%j”对应于“token”后面的列数。有多少列就要有多少个输出变量,并且各变量中的字母存在先后顺序。