2012-08-16 143 views
1

的多個位置,我想從一個批處理或VBS腳本文件合併多個PDF的呼喚PDFTK。 問題是PDF的全部位於公共父目錄內的子文件夾中。例如:父文件夾> subfolder1,subfolder2,subfolder3,其中所述腳本/ BAT文件位於父文件夾並且每個子文件夾包含PDF。合併PDF的與PDFTK

PDFTK被稱爲如下:pdftk.exe * .PDF貓輸出OutputFile.pdf

這將合併只是PDF的當前目錄,雖然,而不是在子文件夾。 有沒有辦法做到下列之一:

  1. 使用VBS/BAT文件中的所有PDF複製的子文件夾到另一個目錄的,而不是錯誤出如果一些子文件夾是空的
  2. 有pdftk通過子文件夾來選擇PDF的合併

任何幫助,將不勝感激。

回答

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 
+0

謝謝,這看起來不錯。我沒有測試它,因爲我找到了一個使用BAT文件的解決方案。 – Dave 2012-08-17 19:53:30