我需要将数百个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
)
答案 0 :(得分:0)
所以我找到了自己的解决方案: 使用此代码,我创建一个空的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