Probleme bei der Funktionsweise einer im Hintergrund laufenden Batch
Hallo zusammen,
ich habe ein Problem mit einer Batch, welche im Hintergrund ausgeführt wird, diese Ausführung im Hintergrund scheint sich jedoch jedes Mal aufzuhängen.
So um was gehts eigentlich genau:
Ich habe zwei Standorte, welche über eine dünne Leitung miteinander verbunden sind (einer der Standorte -> Standort B ist relativ ländlich weswegen eine größere Leitung derzeit noch nicht realisiert werden kann). Die Kollegen von Standort B verbinden sich über ihren PC per VPN auf eine virtuelle Maschine am Standort A von der aus sie arbeiten. Wenn die Kollegen etwas über ihre virtuelle Maschine drucken, so wird der Druckauftrag von Standort A an Standort B zum lokalen Drucker gesendet. Da die Druckaufträge teilweise enorm aufblähen (PCL oder PS wurde beides getestet) gibt es immer Probleme bei der Übertragung der Druckaufträge.
Daher habe ich einen kleinen Workflow erstellt um das Problem zu umgehen. Die Mitarbeiter drucken per PDF-Creator jegliche Datei als PDF in ein persönliches Verzeichnis am Standort A. Die Dateien aus diesem Verzeichnis werden dann automatisch an Standort B übertragen (dadurch fällt das Aufblähen der Druckeraufträge über die Leitung weg). An Standort B - sprich auf dem lokalen Rechner des Kollegen wird die PDF in ein Verzeichnis abgelegt. Jegliche PDF die sich in dem Verzeichnis befindet wird automatisch ausgedruckt und danach in einem "bereits gedruckt"-Ordner verschoben. So haben die Kollegen eine viel bessere Performance, da die Druckaufträge direkt an den lokalen Drucker gesendet werden. All das was ich in diesem Absatz geschrieben habe ist in einer Batch formuliert, welche auf dem lokalen Rechner am Standort B ausgeführt wird.
Die Clients arbeiten auf Windows 7 Enterprise - 64 Bit-Systemen an beiden Standorten.
Hier der Inhalt der Batch:
Das ganze funktioniert auch wunderbar wenn ich die Batch manuell starte. Ich lasse die Batch zusätzlich durch ein .vbs starten, damit der Anwender nicht sieht was auf dem PC so passiert:
Wenn ich die .vbs nun in die Aufgabenplanung einbinde oder in den Autostart-Ordner lege, dann funktioniert das Ganze nicht. Meist wird eine PDF gedruckt aber das wars dann, mehr tut sich nicht mehr. Neue PDFs werden nicht mehr beachtet und es passiert einfach gar nichts mehr. Ich habe es auch schon versucht indem ich die Batch in eine .exe umwandle aber hier das gleiche Fehlerbild.
Hat jemand eine Idee woran das liegen kann? Wie gesagt wenn ich die Batch per Hand starte läuft alles fehlerfrei dauerhaft durch.
Viele Grüße
duderu
ich habe ein Problem mit einer Batch, welche im Hintergrund ausgeführt wird, diese Ausführung im Hintergrund scheint sich jedoch jedes Mal aufzuhängen.
So um was gehts eigentlich genau:
Ich habe zwei Standorte, welche über eine dünne Leitung miteinander verbunden sind (einer der Standorte -> Standort B ist relativ ländlich weswegen eine größere Leitung derzeit noch nicht realisiert werden kann). Die Kollegen von Standort B verbinden sich über ihren PC per VPN auf eine virtuelle Maschine am Standort A von der aus sie arbeiten. Wenn die Kollegen etwas über ihre virtuelle Maschine drucken, so wird der Druckauftrag von Standort A an Standort B zum lokalen Drucker gesendet. Da die Druckaufträge teilweise enorm aufblähen (PCL oder PS wurde beides getestet) gibt es immer Probleme bei der Übertragung der Druckaufträge.
Daher habe ich einen kleinen Workflow erstellt um das Problem zu umgehen. Die Mitarbeiter drucken per PDF-Creator jegliche Datei als PDF in ein persönliches Verzeichnis am Standort A. Die Dateien aus diesem Verzeichnis werden dann automatisch an Standort B übertragen (dadurch fällt das Aufblähen der Druckeraufträge über die Leitung weg). An Standort B - sprich auf dem lokalen Rechner des Kollegen wird die PDF in ein Verzeichnis abgelegt. Jegliche PDF die sich in dem Verzeichnis befindet wird automatisch ausgedruckt und danach in einem "bereits gedruckt"-Ordner verschoben. So haben die Kollegen eine viel bessere Performance, da die Druckaufträge direkt an den lokalen Drucker gesendet werden. All das was ich in diesem Absatz geschrieben habe ist in einer Batch formuliert, welche auf dem lokalen Rechner am Standort B ausgeführt wird.
Die Clients arbeiten auf Windows 7 Enterprise - 64 Bit-Systemen an beiden Standorten.
Hier der Inhalt der Batch:
@echo off
:foldersynch
REM Prüfe ob PDFs im Verzeichnis des PC Standort B sind
for %%p in (\\PcStandortB\Druckdateien\*.pdf) do (
REM Falls PDFs im Verzeichnis sind, kopiere diese in das persoenliche Verzeichnis von Kollegen am Standort B
move %%p C:\users\%username%\Desktop\Druckdateien
REM For-Schleife zum ueberpruefen ob PDFs zum Drucken im persoenlichen Verzeichnis liegen
for %%i in (C:\users\%username%\Desktop\Druckdateien\*.pdf) do (
REM Drucke PDF
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /p /h %%i
REM Einen Moment warten, da der darauf folgende move-Befehl übersprungen wird wenn die Datei noch in Bearbeitung durch das Drucken ist
ping 127.0.0.1 -n 35
REM Verschieben in bereits gedruckt Verzeichnis
move %%i C:\users\%username%\Desktop\Druckdateien\bereits_gedruckt
)
)
ping 127.0.0.1 -n 5
REM Endlosschleife, beginne wieder am Anfang
goto foldersynch
Das ganze funktioniert auch wunderbar wenn ich die Batch manuell starte. Ich lasse die Batch zusätzlich durch ein .vbs starten, damit der Anwender nicht sieht was auf dem PC so passiert:
set fs= createobject("wscript.shell")
fs.run "C:\Users\%username%\Desktop\batch.bat",0
Wenn ich die .vbs nun in die Aufgabenplanung einbinde oder in den Autostart-Ordner lege, dann funktioniert das Ganze nicht. Meist wird eine PDF gedruckt aber das wars dann, mehr tut sich nicht mehr. Neue PDFs werden nicht mehr beachtet und es passiert einfach gar nichts mehr. Ich habe es auch schon versucht indem ich die Batch in eine .exe umwandle aber hier das gleiche Fehlerbild.
Hat jemand eine Idee woran das liegen kann? Wie gesagt wenn ich die Batch per Hand starte läuft alles fehlerfrei dauerhaft durch.
Viele Grüße
duderu
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 314052
Url: https://administrator.de/forum/probleme-bei-der-funktionsweise-einer-im-hintergrund-laufenden-batch-314052.html
Ausgedruckt am: 16.04.2025 um 02:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
Der UNC-Pfad steht (bestimmt) bei der Anmeldung noch nicht zur Verfügung, das gleiche für die Aufgabenplanung. Verbinde den UNC-Pfad explizit in deiner Batch-Datei bevor Du die For-Schleife startest.
Beim Anlegen in der Aufgabenplanung benötigst Du einen Account der auch ein Netzwerk-Laufwerk verbinden darf.
Mit freundlichen Grüßen
REM Prüfe ob PDFs im Verzeichnis des PC Standort B sind
for %%p in (\\PcStandortB\Druckdateien\*.pdf) do (
Der UNC-Pfad steht (bestimmt) bei der Anmeldung noch nicht zur Verfügung, das gleiche für die Aufgabenplanung. Verbinde den UNC-Pfad explizit in deiner Batch-Datei bevor Du die For-Schleife startest.
Beim Anlegen in der Aufgabenplanung benötigst Du einen Account der auch ein Netzwerk-Laufwerk verbinden darf.
Mit freundlichen Grüßen
Hallo,
hatte das gleiche Problem, aber eine andere Lösung. Ich sende die PDF-Dateien per Mail, an ein E-Mail-Konto und benutze das POP3-Print von Keyrocera (FS4200DN). Der Laserdrucker pollt, das Mail-Konto alle 3 Minuten und druckt dann automatisch. POP3-Print gibt es auch von anderen Drucker-Herstellern.
Funktioniert einwandfrei, nur mal so als Anregung....
Mit freundlichen Grüßen
hatte das gleiche Problem, aber eine andere Lösung. Ich sende die PDF-Dateien per Mail, an ein E-Mail-Konto und benutze das POP3-Print von Keyrocera (FS4200DN). Der Laserdrucker pollt, das Mail-Konto alle 3 Minuten und druckt dann automatisch. POP3-Print gibt es auch von anderen Drucker-Herstellern.
Funktioniert einwandfrei, nur mal so als Anregung....
Mit freundlichen Grüßen