现在的位置: 首页 > 综合 > 正文

批处理处理多列文本

2018年02月18日 ⁄ 综合 ⁄ 共 441字 ⁄ 字号 评论关闭

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

rem construct the sql statements of 009 DBC.ConstantDefs
if 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。

抱歉!评论已关闭.