如何使用LibreOffice从命令行将.doc文件转换为.txt文件?

时间:2014-07-11 18:49:58

标签: windows powershell libreoffice doc

我有一个.doc文件夹,我想将其转换为.txt格式。如何在Windows 7中使用LibreOffice的命令行模式?这些文件位于C:\Temp\Test

2 个答案:

答案 0 :(得分:4)

以下是使用Windows PowerShell处理此任务的方法

注意:在从命令行使用LibreOffice之前,您需要关闭所有现有的Libreoffice 实例。这意味着关闭LibreOffice的所有GUI会话,以及检查soffice.exe或运行后台的LibreOffice进程的TaskManager。

一件物品:

PS &("C:\Program Files (x86)\LibreOffice 4\program\soffice.exe") -headless -convert-to txt:Text -outdir C:\Temp C:\Temp\test\sample.doc

这会在文档sample.txt

中的C:\Temp中创建一个文件sample.doc

多件商品:

foreach ($file in Get-ChildItem C:\Temp\test) 
{
    &("C:\Program Files (x86)\LibreOffice 4\program\soffice.exe") -headless -convert-to txt:Text -outdir C:\Temp C:\Temp\test\$file | Out-Null
}

这为文件夹.txt

中的每个文件创建了一个C:\Temp\test文件

再次:使用任务管理器确保以前版本的soffice.exe未运行。这意味着关闭现有的LibreOffice GUI版本。

<强>解释

答案 1 :(得分:1)

添加到@kevinaskevin 's answer的另一个重要事项是 - 解决方法是:

来自开发者的IRC:

LO的“用户安装”(即~/config/libreoffice)并非旨在由多个进程同时访问;因此,当一个soffice.bin已经为特定用户安装运行时,额外的soffice.bin只是将他们的cmd行args转发到第一个并再次立即终止(即,他们不应该在退出的情况下“失败”非零退出值)

如果您想要一个独立的无头LO,您可以使用自己的用户安装启动它,-env:UserInstallation=<file URL to dir>