_FileListToArray bietet auch die Rückgabe des kpl. Pfades an. Das vereinfacht das Skript dann etwas und Nutzung von Arrays macht es übersichtlicher (und bei großer Anzahl auch kürzer):
AutoIt
#include <File.au3>
Global $prog = "C:\Program Files (x86)\PDF24\pdf24-DocTool.exe"
Global $aPathSource[] = ["\\path\to\1", "\\path\to\2", "\\path\to\3"]
Global $outpath = "\\path\to\output"
Global $aFileSource[UBound($aPathSource)] ; gleiche Größe wie Array mit Ordnern
Global $aTmp
For $i = 0 To UBound($aPathSource) -1
$aTmp = _FileListToArray($aPathSource[$i], '*.pdf', 1, True)
$aFileSource[$i] = $aTmp[1]
Next
Global $outputname = InputBox('PDF Join', 'Bitte Dateinamen angeben')
Global $sCmd = StringFormat('%s -join -profile default/best -outputFile "%s\%s.pdf" "%s" "%s" "%s"', $prog, $outpath, $outputname, _
$aFileSource[0], $aFileSource[1], $aFileSource[2])
Run($sCmd, '', @SW_HIDE) ; evtl. WorkingDir-Angabe erforderlich
For $i = 0 To UBound($aFileSource) -1
FileDelete($aFileSource[$i])
Next
Alles anzeigen