coldzero
Goto Top

PDF per BAT drucken hängt sich auf

Moin Moin,
nach nun einer woche im Internet rumsuchen und schnüffeln um mein problem zu lösen und nach nix finden wende ich mich nun an euch.

Mein problem besteht darin das ich mehrer PDFs habe in einem Ordner und diese Automatisiert über einen geplanten Task per BAT drucken will.
Das Script sieht bisher so aus:

@for %%p in ("C:\testordner\download\*.pdf") do "C:\Programme\Adobe\Reader 8.0\Reader\AcroRd32.exe" /p /h "%%p"

so mein Problem:
Er öffnet das erste PDF mit dem Adobe Reader, druckt diese auch schön brav, nur dann bleibt er hängen. Erst wenn ich Adobe Reader MANUELL schließe springt er zum nächsten.
ich habe es auch schon mit "taskkill AcroRd32.exe" versucht nur da springt er nichtmal hin.
Außerdem habe ich es mit Sprungmarken hinterm "do" versucht das er dann zu einer sprungmarke springt die ausführt und dann wieder zurück geht.
desweiteren, aber das denke ich bekomm ich alleine hin, möchte ich das diese datein dann copiert und gelöscht werden, weiß wie die befehle lauten aber ich wieß nicht recht wie ich das realisieren soll wenn der die schleife durchläuft. habe auch shcon den gedanken gehabt das dann mit in die schleife einzubauen also "Reader > Drucken > schließen > Datei kopieren > löschen"
Ich hoffe ihr könnt mir weiterhelfen denn es ist echt dringend.

Danke im Vorraus.

Grüße Coldi

Content-ID: 97162

Url: https://administrator.de/contentid/97162

Ausgedruckt am: 23.11.2024 um 01:11 Uhr

bastla
bastla 17.09.2008 um 12:35:21 Uhr
Goto Top
Hallo ColdZero und willkommen im Forum!

Du kannst in der Schleife auch mehrere Aktionen ausführen, zB:
@echo off & setlocal
FOR %%p in ("C:\testordner\download\*.pdf") do (  
    "C:\Programme\Adobe\Reader 8.0\Reader\AcroRd32.exe" /p /h "%%p"  
    ping -n 10 localhost>nul
    taskkill /IM AcroRd32.exe
    copy "%%p" "D:\Archivordner\">nul && del "%%p"  
)
"ping" in Zeile 4 dient zum Einbauen einer Pause (alternativ kannst Du Dir "sleep.exe" besorgen).

"Kopieren und löschen" sollte sich auch durch ein einfaches "move" erledigen lassen ...

Grüße
bastla
ColdZero
ColdZero 17.09.2008 um 12:44:01 Uhr
Goto Top
Danke danke gleich mal ausprobieren. wofür steht das ">nul" eigentlich? bin recht neu in BAT mache seit 1.8 erst meine ausbildung zum sysadmin, habe vorher TAI gemacht aber nie wirklich was mit bat am hut gehabt ^^

edit: @bastla habe das nun ausprobiert und zwar so

@echo off & setlocal
FOR %%p in ("C:\testordner\download\*.pdf") do (
"C:\Programme\Adobe\Reader 8.0\Reader\AcroRd32.exe" /p /h "%%p"
ping -n 10 localhost>nul
taskkill /IM AcroRd32.exe
copy "%%p" "C:\testordner\gedruckt\">nul && del "%%p"
)

er druckt es aber weiter geht er wieder nicht, kein taskkill kein copy kein delet, bin echt am verzweifeln, vorallem wiels wichtig für die firma ist.

EDIT2:
also ich habe nun mal bei Taskkill geschaut es gibt den befehl "/F" damit wird es ERZWUNGEN aber irgendwie tut er das nicht, er kopiert nun und alles schön brav aber den taskkill macht er nicht ich muss es immer noch sleber beenden
Fehlermeldung dazu:
FEHLER: Argument/Option ungültig - 'AcroRd32.exe'.
Geben Sie "TASKKILL /?" ein, um die Syntax anzuzeigen.
bastla
bastla 17.09.2008 um 14:09:59 Uhr
Goto Top
Hallo ColdZero!
wofür steht das ">nul" eigentlich?
Damit werden Ausgaben zum "nul"-Device (ins "Nichts") umgeleitet, oder weniger dramatisch formuliert, unterdrückt (etwa die Meldung "1 Datei(en) kopiert." des "copy"-Befehles).
Versuch es mit folgender Variante:
@echo off & setlocal
FOR %%p in ("C:\testordner\download\*.pdf") do (  
start "Ausdruck" "C:\Programme\Adobe\Reader 8.0\Reader\AcroRd32.exe" /p /h "%%p"  
ping -n 10 localhost>nul
taskkill /F /IM AcroRd32.exe
copy "%%p" "C:\testordner\gedruckt\">nul && del "%%p"  
)
Grüße
bastla
ColdZero
ColdZero 17.09.2008 um 14:19:59 Uhr
Goto Top
GEIL :D es klappt! danke vielen vielen dank! echt geil endlich bin ich sorgenlos xD nun geht das alles man bin ich glücklich. ich wieß ja nun auf wen ich zurückgreife wenn ich wieder mal probleme habe ;)
btw. das Forum hier ist echt hilfreich

grüße Coldi