使用 LibreOffice 批量将 xls 转换为 csv

使用 LibreOffice 批量将 xls 转换为 csv

以下操作正常:

"path_to_libreoffice\soffice.exe" --convert-to csv test.xls

但是,当我尝试转换文件夹中的所有 xls 文件时,什么也没有发生:

"path_to_libreoffice\soffice.exe" --convert-to csv *.xls

我可以复制所有 xls 文件名并像那样执行,但为什么不起作用*.xls

答案1

Linux 版本会将通配符由 shell 扩展为匹配文件的列表。

Windows 版本应该接受文件列表,但cmd不会为您扩展。

最简单的答案是使用一个for语句:

for %f in (*.xls) do "path_to_libreoffice\soffice.exe" --convert-to csv "%f"

请注意,%f需要%%f在批处理文件中将其替换。

这比提供文件列表效率较低,因为文件列表中的所有转换都在一个计划中完成,而这会为每个转换执行单独的计划。

也许可以通过通配符创建单个计划和文件列表,但这需要复杂的脚本。或者,您可以使用 Windows 端口bash

相关内容