1

バッチまたはVBSスクリプトファイルから複数のPDFを呼び出すpdftkをマージしようとしています。問題は、PDFがすべて共通の親ディレクトリ内のサブフォルダにあることです。例:親フォルダー> subfolder1、subfolder2、subfolder3、ここで、script / BATファイルは親フォルダーにあり、各サブフォルダーにはPDFが含まれています。

pdftkは次のように呼び出されます:pdftk.exe * .pdf cat output OutputFile.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 に答える