将转换后的文件输出到与输入文件相同的文件夹中

将转换后的文件输出到与输入文件相同的文件夹中

我在批处理文件中使用以下命令转换为 .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"

相关内容