批处理和JS的循环语句
1 概念:helps you interate through groups of files and directories,and to parse text files,strings and command output on a line-by-line basis.
2 注意事项
2.1 对有空格的文件名的文件的处理要加" "(路径中的文件夹名亦如此);
2.2 符号前一定要有空格;
2.3  In  (`command`),符号“`”是esc键下的一个符号;;
2.4 在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable,而不是 %variable。
2.5 interator变量名必须在a-b、A-B内,大小写敏感,是一个初始变量;%0-9是批处理参数;系统变量引用:%systemroot%;
for %%var in (fileset) do comm 文件集合
for /d %%var in (directorySet) do comm 目录集合 不包括子目录
for /r [[driver:]path] %var in (fileset) do comm 子目录中的文件 对以[path]指定为起点的整个目录树进行处理;
for /l %%var in (start,step,end) do comm 遍历一系列的值 命令重复执行n次;
for /f ["options"] %%var in (file-set) do comm 分析文本文件中的每一行 循环解析文本 以行为基础进行分析
for /f ["options"] %%var in ("string") do comm 分析字符串
for /f ["options"] %%var in (`command`) do comm 分析命令输出
选项 字段匹配选项 路径 处理目标集  对目标集执行的命令 备注
[/d] [“option”] [path] In ()  Do ()  
      文件集(空格分隔)  
/r     文件集(空格分隔)  
/d   path 目录集(空格分隔)  
/l     Start,step,end  
/f 空格分隔   文本(文件、字符串、命令输出)  
1 for /r [[driver:]path] %var in  (set) do command [command-parameters];检查以[drive:]path为根的目录树,指向每个目录中的for语句.如果在/r后没有指定目录,则使用当前目录.如果集为一个单点(.)字符,则枚举该目录树.
2 文本的立体解析,用一个或数个变量逐行进行,可以理解为行列式、二维数组、字段和记录的关系数据、excel数据列;文本可来源于文件、文本串或命令的输出;
For命令/f选项用于文件内容与命令输出信息分析的选项(空行默认忽略,用""界定,空格分隔)
选项 选项描述 实例 实例描述
eol 设置行尾注释字符,行尾注释字符后的所有数据都被命令看成是注释;end of line eol=# 将#设置为行尾注释字符;忽略以#开始的行;
skip 设置文件起始处跳过的行数 skip=5 通过命令跳过源文件中的1-5行;
delims 设置名字段之间的分隔符,默认情况下为制表符或空格;(一行可以定义不同的符号将行分隔为不同的部分) delimit delims=,.: 指定逗号、句点、分号为分隔符
tokens 为每一源行设置令牌字段,如果以a或A作为起始的迭代变量,则至多可以指定26个令牌。默认情况下,只对第一个令牌进行检查.(指定处理的字段) tokens=1,3 %%A:wu %%B:wh
tokens=2-4 %%A:wanqun %%B:wh %%C:wwuhn@hotmail.com
tokens=* 把每一行当作整体处理,而不分割为字段
usebackq 规定可在源指定符中使用引号:对文件名使用双引号,对命令使用反引号(与~一起),对字符串使用单引号;quotation marks usebackq 激活该选项
JSfor循环
For ([条件初始化];条件;[条件更新]{循环体语句}; 条件初始化,条件判断;条件成立则执行语句;然后条件更新,判断…
For(变量 in 对象或数组){循环体语句…} 用来遍历对象的属性和数组中的元素,并对每个属性或元素执行操作;
While(条件){循环体语句…} 只要条件成立,则循环反复执行,直到条件不成立。
Do{循环体语句…}while(条件) 与while语句不同的是,先执行一次循环体语句后才判断条件;
break跳出循环体;continue:回到循环的条件判断处,(立即停止目前执行的循环)
for(initialize;test;increment){statement}=initialize;while(test){statement;increment}