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

kev*_*vin 3 windows powershell doc libreoffice

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

kev*_*vin 5

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

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

一件:

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

此创建的文件sample.txtC:\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
}
Run Code Online (Sandbox Code Playgroud)

.txt为文件夹中的每个文件创建了一个文件C:\Temp\test

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

解释:

  • 这是有关使用参数启动 LibreOffice 软件的文档。这将解释soffice.exe上面执行的命令。
  • Headless模式在没有 GUI 的情况下启动 LibreOffice 软件。我在问题中所说的“命令行模式”。
  • -convert-to是本例中的一个重要参数。使用时,-convert-to您需要知道output_filter_name是什么(上例中的文本)。 可以在此处找到这些名称的参考。该output_filter_name将在该列表中有后缀的文件的名称.xcu
    • 例如,如果我想将我的.doc文件转换为.pdf我将使用参数 -convert-to pdf:writer_pdf_Export(未经测试)
  • 这是我在回答这个问题时使用的参考资料。
  • 出于某种原因,.exe进程需要通过管道Out-Null来避免彼此重叠。 去图