批处理处理多列文本

来源:互联网 发布:阿里云elb 编辑:程序博客网 时间:2024/04/30 08:21

批处理处理多列文本,注意特殊字符右括号前有^号。tokens的写法网上的版本大多有问题,下面是实测通过的版本

rem construct the sql statements of 009 DBC.ConstantDefsif exist ConstantDefs.out (  for /f "tokens=1-6,*" %%i in (ConstantDefs.out) do (    echo insert into DBC.ConstantDefs values (%%i, %%j, '%%k', '%%l', %%m, '%%n', '%%o'^); >> 109.sql  )) else (  echo can NOT find ConstantDefs.out)

解释一下上面的批处理。

功能:从ConstantDefs.out文件中每次循环读出一行,每行7列(其中第七列是一串可能包含各种字符的字符串,前六列保证无空格),用空格分隔。用取出的7列构造插入SQL语句,根据表中字段的类型决定是否加单引号。最终可以得到可以直接执行的SQL语句文件109.sql。