BAT批处理文件for循环的基本格式方法( 二 )


tokens=x,y,m-n 指每行的哪一个符合被传递到每个迭代的for本身 , 这回倒是额外名称的分配 , m-n格式为一个范围
通过nth符号指定mth , 如果符号字符串中的最好一个字符星号 , 那么额外的变量将在最好一个符号解析之后分配并接受行的保留文本 , 
经过测试 , 该参数最多只能区分31个字段
usebackq 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且一个单
引号字符为文字字符串命令并允许在 file-set
中使用双引号扩起文件名称 。
例子:
@echo off
rem 首先建立临时文件 , 用完删除>test.txt
echo ;注释行 , 这个是临时文件 , 用完删除>text.txt
echo 11 12 13 14 15 16 >> test.txt
echo 21,22,23,24,25,26 >> test.txt
echo 31-32-33-34-35-36 >> test.txt
for /F "eol=; tokens=1,3* delims=,- " %%i in (test.txt) do echo %%i %%j %%k
pause
del text.txt
运行......
解释:
eol=; 分号开头的行尾注释行
tokens=1,3- 将每行第1段 , 第3段和剩余地段分别赋予变量%%i,%%j,%%k
delims=,- (减号后有一空格)以逗号减号和空格为分隔符 , 空格必须放在最后
例子:
@echo off
for /f "skip=4 delims=" %%i in ('net user') do echo %%i
pause
这样你本机全部账号名字就出来了把括号内的内容用两个单引号起来就表示那个当命令执行 , for会返回命令的没行结果 , 加那个"delims=" 是为了让空格的行能正行显示出来 , 不加就默认只显示空格左边一列 , 应为默认的分隔符为空格或叫跳格键 。