1

我正在尝试从批处理或 VBS 脚本文件合并多个 PDF 调用 pdftk。问题是 PDF 都位于公共父目录中的子文件夹中。示例:父文件夹 > subfolder1, subfolder2, subfolder3,其中脚本/BAT 文件位于父文件夹中,每个子文件夹包含一个 PDF。

pdftk 调用如下:pdftk.exe * .pdf cat output OutputFile.pdf

不过,这只会合并当前目录中的 PDF,而不是子文件夹中的 PDF。有没有办法执行以下操作之一:

  1. 使用 VBS/BAT 文件将子文件夹中的所有 PDF 复制到另一个目录,如果某些子文件夹为空,则不会出错
  2. 让 pdftk 查看子文件夹以选择要合并的 PDF

任何帮助,将不胜感激。

4

1 回答 1

1

尝试这个:

Wscript.Echo "begin."
Dim pdffiles
pdffiles=""
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objSuperFolder = objFSO.GetFolder(WScript.Arguments(0))
Call ShowSubfolders (objSuperFolder)

Dim objShell
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "pdftk.exe", pdffiles & " output combined.pdf", "", "runas", 1

Wscript.Echo "end."

WScript.Quit 0

Sub ShowSubFolders(fFolder)
    Set objFolder = objFSO.GetFolder(fFolder.Path)
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
        If UCase(objFSO.GetExtensionName(objFile.name)) = "PDF" Then
            pdffiles=pdffiles & " " & objFile.Name
        End If
    Next

    For Each Subfolder in fFolder.SubFolders
        ShowSubFolders(Subfolder)
    Next
End Sub
于 2012-08-16T16:03:46.723 回答