1. 程式人生 > >批量合併文字檔案 && 文字檔案批量複製到Word中

批量合併文字檔案 && 文字檔案批量複製到Word中

※  批量合併文字檔案

由於工作需要,需要將一批文字檔案(大約有500個左右)合併到一起,一個一個地開啟再複製、貼上,不僅速度慢,還有可能會出錯。我們應該怎樣才能實現批量合併Word文字檔案?

其實可以通過Word的插入檔案功能,也可以通過命令列用命令的方式。

    1.通過Word

將所有的文字檔案放到同一個資料夾中,接下來開啟Word,新建一個空白文件,再單擊選單“插入→檔案”,在開啟的視窗中將“檔案型別”設定為“文字檔案”,(若在word 2007中,則為:插入選項卡->文字選項框->物件->檔案中的文字。。。)最後將所有要合併的文字檔案新增進來即可。

    2.通過命令:

先將所有的文字文件拷貝到同一個資料夾,然後單擊“開始→執行”,輸入“cmd”開啟命令提示符視窗,然後使用“cd”命令切換到存放文字檔案的目錄,再使用“copy *.txt c:\merged.txt”(c:\merged.txt為存放目標檔案的路徑及合併後的檔名)。也可以在當前資料夾下建立bat檔案,這樣就不需要絕對路徑了。

※  文字檔案批量複製到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.

)