hallo rose0805,
habe die PrintFunktion wie folgt zusammengefasst!
desweiteren mal prüfen ob das T: Laufwerk bzw. der pfad existiert.
falls der dienst als system, ausgeführt wird, heißt das nicht, das der pfad auch da ist. eventuell unc pfade zur freigabe nutzen!
Spoiler anzeigen
;Pfad zu PDF Viewer
$program = "C:\Programme\SumatraPDF"
$pathtosetdefaultprinter = "c:\AutoIt\Program"
$standardprinter = "P040"
$P1 = "P003"
$P2 = "P006"
; Pfad der auf neue Dateien überwacht werden soll
; Recht muss vorhanden sein
$source = "T:\_PDF_Druck\"
If $iFileExists = FileExists($source) Then
MsgBox(0, "", "The file exists." & @CRLF & "FileExist returned: " & $iFileExists)
Else
MsgBox(0, "", "The file doesn't exist." & @CRLF & "FileExist returned: " & $iFileExists)
EndIf
$sP1 = $source & $P1
$sP2 = $source & $P2
; Pfad, in den die Dateien nach dem Drucken verschoben werden sollen
$dest = "T:\_PDF_Druck\save"
; Dauer des Prüfintervalls in Millisekunden (10 Sek = 10000)
$interval = 5000
While 1
Sleep($interval)
; Druckverzeichnisse für jeden Drucker erstellen falls es mal geloescht wird
IF Not FileExists($sP1) Then DirCreate($sP1) ; wenn es nicht da ist, wird es erstellt! du hast es immer neu erstellt
IF Not FileExists($sP2) Then DirCreate($sP2) ; wenn es nicht da ist, wird es erstellt! du hast es immer neu erstellt
; Durchsuchen der Verzeichnisse nach PDF Dateien
$file1 = FileFindFirstFile ($sP1 & "\*.pdf")
If $file1 <> -1 then Print($sP1,$file1)
FileClose($file1)
$file2 = FileFindFirstFile ($sP2 & "\*.pdf")
If $file2 <> -1 then Print($sP2,$file2)
FileClose($file2)
WEnd
Func Print($printer,$printfile)
[/autoit] [autoit][/autoit] [autoit]RunWait($pathtosetdefaultprinter & "\SetDefaultPrinter.exe " & $printer, "", @SW_HIDE)
[/autoit] [autoit][/autoit] [autoit]While 1
$pdffile = FileFindNextFile($printfile)
If @error then ExitLoop
RunWait('"' & $program & '\SumatraPDF.exe" -print-to '& $printer &' -silent -exit-when-done "' & $printer & '\' & $pdffile & '"')
FileDelete($printer & '\' & $pdffile)
WEnd
RunWait($pathtosetdefaultprinter & "\SetDefaultPrinter.exe " & $standardprinter, "", @SW_HIDE)
EndFunc
Func Quit()
Exit
EndFunc
gruß gmmg