※ 批量合并文本文件
由于工作需要,需要将一批文本文件(大约有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.
)