我在文件夹中有一堆带有各种名称的.txt文件,我需要将它们合并到一个可以在Office Word或LibreOffice Writer中读取的文件中。
棘手的部分是,粘贴的文件应按创建日期进行组织,在内容之前放置标题,最后放置分页符,如下所示
Title of older file
File content
Page break
Title of newer file
File content
Page break
我可以用Java做到这一点,但似乎有点矫枉过正。如果可以使用Windows Powershell或Unix bash完成这将是很好的。不过,添加的换行符应该是Window样式。
完全免责声明:我对Bash有所了解,对Powershell一无所知,几乎没有.doc / .odf格式。
答案 0 :(得分:1)
将TXT合并为一个DOCX并添加分页符(PowerShell,需要MS Word):
[Ref]$rSaveFormat = "Microsoft.Office.Interop.Word.WdSaveFormat" -as [Type]
$oWord = New-Object -ComObject Word.Application
$oWord.Visible = $false
$sPath = <path to dir with txt files>
$cInFiles = Get-ChildItem $sPath
$sOutFile = $sPath + "\outfile.docx"
$iWordPageBreak = 7
$iNewLineChar = 11
$oDoc = $oWord.Documents.Add()
$oWordSel = $oWord.Selection
foreach ($sInFile in $cInFiles) {
$sInFileTxt = Get-Content $sInFile
$oWordSel.TypeText($sInFile)
$oWordSel.TypeText([Char]$iNewLineChar)
$oWordSel.TypeText($sInFileTxt)
$oWordSel.InsertBreak($iWordPageBreak)
}
$oDoc.SaveAs($sOutFile, $rSaveFormat::wdFormatDocumentDefault)
$oDoc.Close()
$oWord.Quit()
$oWord = $null
For explanations see this blog post on TechNet
编辑:没有Word,您可能应该使用ODT格式并直接编辑content.xml。 Example in Python。虽然我个人只是简单地连接TXT文件。除非你有数百万个,否则手动添加分页符比实际编辑XML更快更容易。