我在批处理文件中使用以下命令转换为 .odt 格式:
for /r %%i in (*.docx) do start /wait "" "c:\program files\libreoffice\program\soffice.exe" --headless --convert-to odt "%%i"
它运行正常,但它会输出父文件夹中子文件夹中的所有文件。我想要的是将输出文件转换到与输入文件相同的子文件夹中。我尝试了和%%~dpni
其他变体,但没有成功。LibreOffice 有自己的参数--outdir
来指定输出目录,但尝试类似的方法--outdir .\
似乎不起作用。
还有其他选择吗?
答案1
forfiles 命令似乎可以完成这项工作,但它对 CPU 的占用有点大:
forfiles /s /m "*.docx" /c "c:\progra~1\libreo~1\program\soffice.exe --headless --convert-to odt @file"