Script BAT verschieben für Anfänger :-)

ollibux

Newbie
Registriert
Okt. 2024
Beiträge
3
Guten Morgen Community,

Bitte nicht lachen , aber ich benötige bitte kurz Hilfe für einen einfachen Befehl.

Ich möchte verschiedene PDF ( tägliche Eingangsrechnungen ) in einen Ordner geben, um diese dann automatisch drucken zu können, und diese dann erfolgreichem Druck in einen "erledigt/gedruckt" Ordner verschieben.
Das Drucken habe ich bereits hinbekommen, aber die Dateien werden im Anschluss nicht verschoben, und ich finde meinen Fehler nicht.
BIN ABSOLUTER NEULING UND HABE MIR DIE FOLGENDE BAT AUS EINEM ANDEREN FORUM/THREAT KOPIERT UND ANGEPASST !
Also bitte keine Wunder beim Verständnis verlangen :-) Ich hoffe Ihr seht den Fehler im System sofort.....

@Echo off
set folder="H:\Eigene Dateien\1_PDF Neu\"
for /r %folder% %%a in (*.pdf) do (
start /b "Print" "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" /n /t "%%a"
PING 127.0.0.1 -n 5
move "%%a" "H:\Eigene Dateien\2_PDF gedruckt"
)
ping 127.0.0.1 -n 5
goto pdfprint end
 
Ich vermute die Anführungszeichen sind zuviel

move "%%a" "H:\Eigene Dateien\2_PDF gedruckt"


Führe doch das Skript mal aus der Commandline und nicht per Doppelklick aus. Dann solltest du auch eine Fehlermeldung sehen.
 
  • Gefällt mir
Reaktionen: MadDog
Guten Morgen und Danke für die schnelle Rückmeldung Paule.......aber leider ergab das Weglassen der "" keine Veränderung...aber ein Versuch war es Wert.
 
Hast du Skript mal aus der Commandline raus gestartet? Wenn ja, kam eine Fehlermeldung?
 
Ich könnte mir noch vorstellen, dass die 5 Sekunden warten nach dem Drucken nicht ausreichen und die entsprechende Datei noch einen Lock besitzt. Aber auch das müsste man bei der Ausführung sehen.
 
  • Gefällt mir
Reaktionen: BAGZZlash
ChatGPT sagt falsch und gibt diese korrigierte Version aus:

Code:
@Echo off
set "folder=H:\Eigene Dateien\1_PDF Neu"
for /r "%folder%" %%a in (*.pdf) do (
    start /b "Print" "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe" /n /t "%%a"
    PING 127.0.0.1 -n 5 >nul
    move "%%a" "H:\Eigene Dateien\2_PDF gedruckt"
)
ping 127.0.0.1 -n 5 >nul
:pdfprint
echo Druck abgeschlossen
:end
 
Vielen DANK Euch ALLEN !

Folgende Lösung hat nun funktioniert :

Ich habe die Variante von CHAT GPT übernommen, musste dann aber auch noch die Zeit von 5 Sek auf 10 Sek hochsetzen, dann hat es funktioniert.

DANKE noch einmal und einen schönen Tag Euch allen noch.

LG Olli
 
  • Gefällt mir
Reaktionen: heijck, Langsuan und Azghul0815
Übrigens ist die Verwendung von Ping unnötig, weil Cmd den Befehl Timeout kennt, der genau die gewünschte Pausenfunktion realisiert. Timeout /t 5 würde also das gleiche tun wie Dein Pingbefehl
 
  • Gefällt mir
Reaktionen: CyborgBeta, BAGZZlash, dms und 2 andere
Hatte die ursprüngliche batch heute morgen kurz getestet.
Musste dann aber zu einen Termin los.

Funktionierte soweit ohne die print-Zeile.
Meine Vermutung war auch das das timeout zu kurz ist und Acrobat die Datei noch offen hat.

Stimme areiland zu und ersetze bitte "ping 127.0.0.1 -n 10" durch "timeout /t 10 /nobreak"
 
  • Gefällt mir
Reaktionen: CyborgBeta und areiland
Zurück
Oben