2017-02-22 65 views
0

我想創建一個腳本來ODTS轉換爲與LibreOffice中的PDF文件,所以我創建了下面的腳本:操作在目錄中的Windows腳本

@echo off 
for %%f in (*.odt) do (
      soffice.exe --headless --convert-to pdf "%%~nf.odt" 
) 

但這是緩慢的,因爲它可以創建許多流程。所以,我要做到以下幾點:

soffice.exe --headless --convert-to pdf file1 file2 file3 .... filen 

,並處理所有的命令調用的文件。

+0

嗯。理論上這個代碼一次只能轉換一個文件。一次只能運行一個進程。 – Squashman

+0

不,它的工作原理。我試過了。 – arcad

+0

然後,我會嘗試在'/ WAIT'選項中使用'START'命令,或者在啓動soffice.exe時使用'CALL'命令。 – Squashman

回答

1

建立文件列表,然後再調用轉換器:

@echo off 
setlocal enabledelayedexpansion 
set filelist= 
for %%f in (*.odt) do (
      set "filelist=!filelist! "%%~nf.odt"" 
) 
soffice.exe --headless --convert-to pdf %filelist% 
+0

謝謝,那正是我想要的。 – arcad

+1

@arcad,如果你有很多文件需要轉換,可能會失敗,因爲你在執行cmd之前被限制爲8192的行長度。 – Squashman