批量合并文本文件 && 文本文件批量复制到Word中

※  批量合并文本文件

由于工作需要,需要将一批文本文件(大约有500个左右)合并到一起,一个一个地打开再复制、粘贴,不仅速度慢,还有可能会出错。我们应该怎样才能实现批量合并Word文本文件?

    其实可以通过Word的插入文件功能,也可以通过命令行用命令的方式。

    1.通过Word

    将所有的文本文件放到同一个文件夹中,接下来打开Word,新建一个空白文档,再单击菜单“插入→文件”,在打开的窗口中将“文件类型”设置为“文本文件”,(若在word 2007中,则为:插入选项卡->文本选项框->对象->文件中的文字。。。)最后将所有要合并的文本文件添加进来即可。

    2.通过命令:

    先将所有的文本文档拷贝到同一个文件夹,然后单击“开始→运行”,输入“cmd”打开命令提示符窗口,然后使用“cd”命令切换到存放文本文件的目录,再使用“copy *.txt c:\merged.txt”(c:\merged.txt为存放目标文件的路径及合并后的文件名)。也可以在当前文件夹下建立bat文件,这样就不需要绝对路径了。

http://www.huacolor.com/article/239.html

 

※  文本文件批量复制到Word中

在某目录下有几百个文本文件(文件名形如:001.txt,002.txt...),我想按照文件名排列的顺序将它们的内容复制到一个新建的DOC文件中,如何做?

VBS脚本如下(文本文件的文件名不能有空格)

ConstForreading = 1

ConstForAppending = 8

oPath= "C:\Docume~1\Administrator\桌面\TestDir\"

TempFile= "C:\Docume~1\Administrator\桌面\TempFile.tmp"

DocFile= "C:\Docume~1\Administrator\桌面\DocFile.doc"

Set oShell= WScript.CreateObject("WScript.Shell")

oShell.Run("%comspec%/c dir /b/n " & oPath & "*.txt >" & TempFile),0,True

Set FSO= CreateObject("Scripting.FileSystemObject")

Set ObjTempFile= FSO.OpenTextFile(TempFile,ForReading)

Set ObjDocFile= FSO.OpenTextFile(DocFile,ForAppending)

Do UntilObjTempFile.AtEndOfStream

       Line=objTempFile.ReadLine

       Set ObjTextFile = FSO.OpenTextFile(oPath &Line,ForReading)

       F1 = ObjTextFile.ReadAll

       ObjTextFile.Close

       ObjDocFile.Write F1

Loop

ObjTempFile.Close

ObjDocFile.Close

FSO.DeleteFileTempFile

来个批处理版的

支持含空格的路径名和文件名

@echooff

setSrcDir=C:\test

setDstFile=C:\test.doc

>"%DstFile%"type nul

for/f "tokens=1* delims=" %%a in ('dir /b "%SrcDir%\*.txt"')do (

  >>"%DstFile%" type"%SrcDir%\%%a"

  >>"%DstFile%" echo.

)

你可能感兴趣的:(word)