批量创建文本文件,每个新文件都带有从excel中提取的不同文本

时间:2013-01-18 08:01:47

标签: excel vba batch-file cmd

我正在尝试从模板文本文件创建多个文本文件;但是,在每个新生成的文件中,应该添加一个从excel行拉出的新文本行。

例如:

模板文本文件内容

Line1
Line2

Excel文件有几行,每行都有不同的文本,例如

Row1text
Row2text
Row3text

所以我需要做的是从Excel行中提取文本并根据文本模板文件将其添加到新生成的文本文件中

所以结果会像这样

GeneratedText1.txt

Line1
Line2
Row1text

GeneratedText2.txt

Line1
Line2
Row2text

GeneratedText3.txt

Line1
Line2
Row3text

excel中有多行,应该生成很多文本文件。新文件的名称也应该在某处预定义。 最好的方法是什么?一些命令行会有帮助吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

@echo off

setlocal EnableDelayedExpansion

set i=1
for /f %%l in (input.csv) do (
  >GeneratedText!i!.txt type template.txt
  >>GeneratedText!i!.txt echo %%l
  set /a i+=1
)

endlocal

编辑:像这样修改批处理文件,让它从input.csv的1 st 字段中读取输出文件名:

@echo off

setlocal EnableDelayedExpansion

for /f "delims=, tokens=1*" %%f in (input.csv) do (
  >"%%~f" type template.txt
  >>"%%~f" echo %%g
)

endlocal