Ist jetzt hald nicht gerade so schön aufgebaut
aha
Kleiner Vorschlag:
Spoiler anzeigen
#include <File.au3>
#include <Date.au3>
$sFile = _DirGetLatestFile(@DesktopDir, "*.pdf")
If @error Then Exit
ConsoleWrite("Neuste Datei: " & $sFile & @LF)
FileMove($sFile, @DesktopDir & "\Muster.pdf")
; Tu hier was immer du mit der Batch tun wolltest lieber direkt in Autoit...
Sleep(60 * 1000 * 60) ; Solches 'Warten' ist sehr unsicher und vor allem auch schlechter Stil - Ich wette mit dir, dass du irgend wie anderst erkennen kannst wann die Datei fertig 'bearbeitet' ist...
FileMove(@DesktopDir & "\Muster.pdf", $sFile)
Func _DirGetLatestFile($sDir, $sFileType = "*")
If StringRight($sDir, 1) <> "\" Then $sDir &= "\"
If Not FileExists($sDir) Then SetError(1)
Local $aNew[2] = [999999999, ''], $aFiles = _FileListToArray($sDir, $sFileType, 1)
If Not IsArray($aFiles) Then SetError(2)
For $i = 1 To $aFiles[0]
$a = FileGetTime($sDir & $aFiles[$i], 0, 0)
If @error Then ContinueLoop
$d = _DateDiff("s", $a[0] & "/" & $a[1] & "/" & $a[2] & " " & $a[3] & ":" & $a[4] & ":" & $a[5], _NowCalc())
If $d < $aNew[0] Then
$aNew[0] = $d
$aNew[1] = $i
EndIf
Next
If $aNew[1] = '' Then SetError(3)
Return $sDir & $aFiles[$aNew[1]]
EndFunc ;==>_DirGetLatestFile