在 for 循环中使用 Ghostscript

Use Ghostscript in for loop

我需要将数百个 pdf 文件合并成一个新的大文件。在此代码中,我尝试遍历文件顺序列表并将它们添加到新的 pdf 文件中。 但结果不是我需要的,因为只有循环中的最后一个 pdf 文件被复制到 output.pdf。我的代码有什么问题?

for /F "tokens=*" %%A in (fileorder.txt) do (
 echo +++++ %%A ++++++
 D:\GS\gs9.02\bin\gswin32c.exe ^
    -o output.pdf ^
    -sDEVICE=pdfwrite ^
    -dColorConversionStrategy=/LeaveColorUnchanged ^
    -dEncodeColorImages=false ^
    -dEncodeGrayImages=false ^
    -dEncodeMonoImages=false ^
    output.pdf ^
    %%A ^
    -dFIXEDRESOLUTION
pause
) 

所以我自己找到了解决方案: 使用此代码,我创建了一个空 temp.pdf,我需要将最后一个循环的输出保存到我​​的输入文件中。

copy NUL EmptyFile.txt
ren EmptyFile.txt temp.pdf
for /F "tokens=*" %%A in (fileorder.txt) do (

D:\GS\gs9.02\bin\gswin32c.exe ^
-o output.pdf ^
-sDEVICE=pdfwrite ^
-dColorConversionStrategy=/LeaveColorUnchanged ^
-dEncodeColorImages=false ^
-dEncodeGrayImages=false ^
-dEncodeMonoImages=false ^
temp.pdf ^
%%A ^
-dFIXEDRESOLUTION

copy /b/v/y output.pdf temp.pdf

) 

del temp.pdf

但正如 rojo 指出的那样:这是更好的解决方案:

D:\GS\gs9.02\bin\gswin32c.exe ^
-o output.pdf ^
-sDEVICE=pdfwrite ^
-dColorConversionStrategy=/LeaveColorUnchanged ^
-dEncodeColorImages=false ^
-dEncodeGrayImages=false ^
-dEncodeMonoImages=false ^
@fileorder.txt ^
-dFIXEDRESOLUTION