Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch - PDF Drucken nach Stückzahl

Frage Entwicklung Batch & Shell

Mitglied: Sonorc

Sonorc (Level 1) - Jetzt verbinden

07.10.2009 um 12:52 Uhr, 7272 Aufrufe, 32 Kommentare

PDF Drucken mit Auflage die Manuel eingegen werden kann

Hallo,
ich brauche in Batch ein script.
Er soll mir immer eine Bestimmte PDF drucken.
Mit dem Script, den ich habe geht es soweit.
Aber nun muss ich noch durch html/php oder auch anders eine Stückzahl eingeben können, wieoft er sie Drucken Soll.
Ich suche schon seit 8 Uhr Morgen, ich hoffe es kann mir einer Helfen.

01.
@echo off & setlocal enabledelayedexpansion 
02.
FOR %%p in ("C:\test\*.pdf") do ( 
03.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
04.
ping -n 10 localhost>nul 
05.
taskkill /F /IM AcroRd32.exe 
06.
)
32 Antworten
Mitglied: pxxsxx
07.10.2009 um 13:09 Uhr
Du könntest die Stückzahl als Argument übergeben und eine Schleife laufen lassen... Ist nur so ne Idee. Wie soll das ganze aufgerufen werden?

Gruß
Peter
Bitte warten ..
Mitglied: 60730
07.10.2009 um 13:10 Uhr
Servus,

warum machst du das so komplex?

copy C:\test\*.pdf lpt1 oder \\printserver\druckername

entweder einen "speziellen Drucker anlegen, der immer 5 kopien druckt, oder einen Zähler, der 5oder x mal den Copy Befehl durchzieht.

Gruß
Bitte warten ..
Mitglied: miniversum
07.10.2009 um 13:18 Uhr
Versuchs damit:
01.
@echo off & setlocal enabledelayedexpansion 
02.
:loop 
03.
set /p anzahl=Wieviele Ausdrucke sollen erstellt werden?: 
04.
set /a x=%anzahl%+1 
05.
if %x% equ 0 (echo Bitte eine Zahl ^>=1 angeben & goto:loop) 
06.
FOR /L %%z IN (1,1,%anzahl%) do ( 
07.
FOR %%p in ("C:\test\*.pdf") do ( 
08.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
09.
ping -n 10 localhost>nul 
10.
taskkill /F /IM AcroRd32.exe 
11.
12.
)
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 13:19 Uhr
Momentan habe ich es in einer .bat Datei.
Er soll die PDF Drucken, die im Ordner test sind.
Aber die Auflage kann sich immer ändern.
Es kann sein das ich in 1 Stunde nur 20 Stück der Selben PDF drucken will.
Und die leute, die es Benutzen sollen es nicht manuel im code ändern.

Man könnte es ja auch ganz einfach machen indem man PDF öffnet und selbst auf Drucken geht aber bei 500 bis 1000 Drucke am Tag sparen wir damit keine Zeit in der Firma.

Ich dachte da an eine HTML/PHP lösung, weiß nicht ob sowas geht.
Aber es währe auch ok wen man die bad öffnet und er dann fragt wieviel ich haben will.

mfg
Simon
Bitte warten ..
Mitglied: dave114
07.10.2009 um 13:31 Uhr
mir dem script von miniversum sollte es eigentlich funktionieren
Bitte warten ..
Mitglied: Larz
07.10.2009 um 13:39 Uhr
Hoi,

hätte auch noch nen Schnipsel anzubieten:

01.
@echo off & setlocal enabledelayedexpansion  
02.
set counter=0 
03.
set /p Anzahl=Wie viele Ausdrucke sollen erfolgen: 
04.
 
05.
:DoAction 
06.
set /a counter=%counter%+1 
07.
 
08.
FOR %%p in ("C:\test\*.pdf") do ( 
09.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
10.
ping -n 10 localhost>nul 
11.
12.
 
13.
if %counter%==%Anzahl% goto :ByeBye 
14.
goto :DoAction 
15.
 
16.
:ByeBye 
17.
taskkill /F /IM AcroRd32.exe 
18.
@ECHO Ende 
19.
PAUSE
Gruß
Larz

P.S.: Ich gehe davon aus dass taskkill /F /IM AcroRd32.exe nur einmal nach allen Ausdrucken erfolgen muss.
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 13:44 Uhr
Danke für die Schnellen Hilfen.
Die Codes geht sehr gut aber nun habe ich gesehen, dass es doch besser ist erst nach der Artikelnummer zu Fragen und dann die Stückzahl.

Artikelnummer währe dann
0001.pdf
0002.pdf
usw

Ich schau mal ob ich es schaffe, wenn nicht dann melde ich mich nochmal.

mfg
Simon
Bitte warten ..
Mitglied: dave114
07.10.2009 um 13:45 Uhr
morgen Larz,

ich hatte überlegt aus deinem umbenennen-Script was zusammenzustellen - hab mich dann aber dazu entschieden das das Script von miniversum auch reicht

mfg

David
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 14:11 Uhr
Ist doch nicht so leicht wie ich dachte.
Kann mir einer ein Tip geben, wie ich noch eine PDF namens abfrage mache?
Er soll erst nach der PDF fragen, die er Drucken soll und dann die Stückzahl.
Aber dazu muss auch noch überprüft werden ob sie in dem Ordner Existiert...

mfg
Simon
Bitte warten ..
Mitglied: Larz
07.10.2009 um 14:48 Uhr
Heißen die Dateien immer gleich? Also Datei1.pdf, Datei2.pdf etc.
Dann könntest Du ja eine entsprechende Abfrage basteln.
Oder eben mit

01.
set /P Name=Bitte hier den Dateinamen eingeben:
gefolgt von
01.
IF exist %Pfad%%Name% goto :DoAction
Gruß
Larz
Bitte warten ..
Mitglied: Larz
07.10.2009 um 14:54 Uhr
Hallo David,

ich denke mal Du meinst hauptsächlich wegen dem Auswahldialog
Hatte ich auch schon dran gedacht....

Gruß
Larz
Bitte warten ..
Mitglied: dave114
07.10.2009 um 14:59 Uhr
morgen Larz,

eigentlich sollte meine Antwort noch vor der von Sonorc stehen aber da war ich anscheinend nicht schnell genug.

Ja der Auswahldialog wäre auch nicht schelcht aber ich wollte eigentlich auf die Variablensetzung raus

mfg

David
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 15:03 Uhr
der code scheint bei mir nicht zu gehen:

01.
@echo off & setlocal enabledelayedexpansion  
02.
set counter=0 
03.
set /p Anzahl=Wie viele Ausdrucke sollen erfolgen: 
04.
 
05.
:DoAction 
06.
set /a counter=%counter%+1 
07.
 
08.
FOR %%p in ("C:\test\*.pdf") do ( 
09.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
10.
ping -n 10 localhost>nul 
11.
12.
 
13.
if %counter%==%Anzahl% goto :ByeBye 
14.
goto :DoAction 
15.
 
16.
:ByeBye 
17.
taskkill /F /IM AcroRd32.exe 
18.
@ECHO Ende 
19.
PAUSE
der geht:

01.
@echo off & setlocal enabledelayedexpansion 
02.
:loop 
03.
set /p anzahl=Wieviele Ausdrucke sollen erstellt werden?: 
04.
set /a x=%anzahl%+1 
05.
if %x% equ 0 (echo Bitte eine Zahl ^>=1 angeben & goto:loop) 
06.
FOR /L %%z IN (1,1,%anzahl%) do ( 
07.
FOR %%p in ("C:\test\*.pdf") do ( 
08.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
09.
ping -n 10 localhost>nul 
10.
taskkill /F /IM AcroRd32.exe 
11.
12.
)
EDIT: ach beide gehen habe nur was kaputt gemacht

EDIT 2:

wieso geht es bei mir nicht wen ich dort wo der Stern (*) ist 0001.pdf schreibe?
01.
FOR %%p in ("C:\test\*.pdf") do (
Bitte warten ..
Mitglied: 60730
07.10.2009 um 15:09 Uhr
@miniversum:

dein Script ist noch am ehesten sinnig - auch wenn Du "nur" *lach* das vorhandene erweitert hast.

@ Larz: Schau dir mal Miniversums Zeile 5 an

Ansonsten wäre dieser Schnippsel dazu geeignet "irgendeine" Pdf drauf zu werfen, eine Zahl einzugeben und fettich ist der Lack?


01.
title Datei %1 drucken 
02.
set /p Anzahl=Wie viele Ausdrucke von %1: 
03.
@FOR /L %%z IN (1,1,%anzahl%) do ( 
04.
@copy %1 \\server\drucker\ 
05.
06.
:end

edit
:
EDIT 2:

wieso geht es bei mir nicht wen ich dort wo der Stern (*) ist 0001.pdf schreibe?

Gegenfrage:

Wieviele 0001.pdf sind denn im Ordner?
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 15:15 Uhr
eine *g

habe momentan 3 PDFs drin.

und durch die Abfrage will ich aussuchen welche er drucken soll von den 3.
hier der Code:

01.
 
02.
@echo off & setlocal enabledelayedexpansion  
03.
:Name 
04.
set /P Name=Bitte hier den Dateinamen eingeben: 
05.
IF exist C:\test\%Name%.pdf goto :Anzahl 
06.
goto :Name 
07.
 
08.
:Anzahl 
09.
set counter=0 
10.
set /p Anzahl=Wie viele Ausdrucke sollen erfolgen: 
11.
 
12.
:DoAction 
13.
set /a counter=%counter%+1 
14.
 
15.
FOR %%p in ("C:\test\%Name%.pdf") do ( 
16.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
17.
ping -n 10 localhost>nul 
18.
19.
 
20.
if %counter%==%Anzahl% goto :ByeBye 
21.
goto :DoAction 
22.
 
23.
:ByeBye 
24.
taskkill /F /IM AcroRd32.exe 
25.
@ECHO Ende 
26.
PAUSE 
27.
 
EDIT:
ok soweit ich es sehen kann geht %Name% unterwegs verloren
Bitte warten ..
Mitglied: dave114
07.10.2009 um 15:38 Uhr
warum geht %name% verloren?

mfg

David
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 15:41 Uhr
so aber Ignoriert er das

01.
:Anzahl 
02.
set counter=0 
03.
set /p Anzahl=Wie viele Ausdrucke sollen erfolgen:
und wenn ich so ein namen eingebe der nicht existiert geht er auch automatisch weiter, deswegen hatte ich in Zeile 05 goto Name

EDIT:

so geht es ja zu 90%

01.
@echo off & setlocal enabledelayedexpansion  
02.
:Name 
03.
set /P Name=Bitte hier den Dateinamen eingeben: 
04.
IF exist C:\test\%Name%.pdf goto :Anzahl 
05.
goto :Name 
06.
 
07.
:Anzahl 
08.
set counter=0 
09.
set /p Anzahl=Wie viele Ausdrucke sollen erfolgen: 
10.
 
11.
:DoAction 
12.
set /a counter=%counter%+1 
13.
 
14.
FOR %%p in ("C:\test\%Name%.pdf") do ( 
15.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
16.
ping -n 10 localhost>nul 
17.
18.
 
19.
if %counter%==%Anzahl% goto :ByeBye 
20.
goto :DoAction 
21.
 
22.
:ByeBye 
23.
taskkill /F /IM AcroRd32.exe 
24.
@ECHO Ende 
25.
PAUSE
In der Zeile 05 findet er die PDF aber er will Sie nicht Drucken... und in der Zeile 15 Findet er sie nicht... glaube ich, weil dann mein Drucker keine Anfrage bekommt.
Bitte warten ..
Mitglied: dave114
07.10.2009 um 15:52 Uhr
wenn er das pdf findet dann geht er ja garnicht weiter in zeile 5 sondern springt direkt in zeile 7

das mit der zeile 15 da kann ich dir grad nicht weiterhelfen - ich weiß nicht wie da der consolenbefehl sein muss

mfg

David
Bitte warten ..
Mitglied: dave114
07.10.2009 um 15:55 Uhr
ach ja du muss die : bei den goto befehlen wegmachen wenn ich mich nicht irre :D
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 15:55 Uhr
jop, das geht ja auch, dann Fragt er mich wie groß die Auflage sein soll.
Ich tippe 1 oder 2 ein und dann macht der Drucker nix

EDIT:

die ":" sind weg aber geht ja auch net ^^
Bitte warten ..
Mitglied: dave114
07.10.2009 um 15:56 Uhr
ja wie gesagt mit dem druckbefehl da kann ich dir nicht helfen

da sollen Larz und miniversum nochmal ran
Bitte warten ..
Mitglied: 60730
07.10.2009 um 15:57 Uhr
Hello again...

darf ich mal zwischenfragen, wie das ganze laufen soll?

Bisher gehts du auf immer noch den gleichen Weg - den du mal gehen wolltest.

Und mit Änderungen anderer kommst du auch soweit, das du das - was dir vorgeschlagen würde auch bei dir klappt.


  • Hast du das mit dem copy auch mal versucht?
  • oder den Ansatz mit dem Dreck & Trop(f)?

Wenn jetzt ein Kunde mit einem Großauftrag droht, und Ihr 99 Dokumente drucken müsst.

  • 99 * ~27 MB + Dateigröße des PDfs?
  • 99 Fenster vom Acrobat Reader?
  • 99 * wielange braucht der Acrobat zum starten?
  • deine User werden sicherlich bald Aggro wegen dieser bat.

Ich mein ja nur....

Gruß
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 15:57 Uhr
ok, Danke
Werde dann mal auf die Beiden warten.
Bitte warten ..
Mitglied: dave114
07.10.2009 um 16:01 Uhr
berechtigter Einwand TimoBeil
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 16:08 Uhr
ok, das mit copy geht aber wie mache ich es, dass er auch PDF druckt?
wen ich es so mache:

01.
@echo off & setlocal enabledelayedexpansion  
02.
:Name 
03.
set /p Name=Bitte hier den Dateinamen eingeben: 
04.
IF exist C:\test\%Name%.pdf goto Anzahl 
05.
goto Name 
06.
 
07.
:Anzahl 
08.
set counter=0 
09.
set /p Anzahl=Wie viele Ausdrucke sollen erfolgen: 
10.
 
11.
:DoAction 
12.
set /a counter=%counter%+1 
13.
copy C:\test\%name%.pdf \\Asusvgr\dell 
14.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
15.
 
16.
if %counter%==%Anzahl% goto ByeBye 
17.
goto DoAction 
18.
 
19.
:ByeBye 
20.
taskkill /F /IM AcroRd32.exe 
21.
@ECHO Ende 
22.
PAUSE
dann kommen da 17 seiten aus den Drucker mit komischer schrift *g
Bitte warten ..
Mitglied: dave114
07.10.2009 um 16:20 Uhr
wie 17 seiten mit komischer schrift ? :-P
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 16:26 Uhr
Der Drucker muss es mit AcroRd32.exe öffnen sonst druckt er nix gutes *g
Bitte warten ..
Mitglied: dave114
07.10.2009 um 16:28 Uhr
:D

na denne - wo ein Problem da auch die Lösung
Bitte warten ..
Mitglied: Sonorc
07.10.2009 um 16:33 Uhr
ist es den so richtig?

01.
FOR %%p in copy C:\test\%name%.pdf \\Asusvgr\dell do ( 
02.
start "Ausdruck" "C:\Programme\Adobe\Reader 9.0\Reader\AcroRd32.exe" /p /h "%%p" 
03.
)
Bitte warten ..
Mitglied: miniversum
07.10.2009 um 16:39 Uhr
Zitat von 60730:
@miniversum:

dein Script ist noch am ehesten sinnig - auch wenn Du
"nur" *lach*
das vorhandene erweitert hast.

Na man muss ja nicht immer alles neu erfinden. Besonders nicht wenn die Basis funktioniert.
Bitte warten ..
Mitglied: 60730
07.10.2009 um 16:42 Uhr
Zitat von Sonorc:
Der Drucker muss es mit AcroRd32.exe öffnen sonst druckt er nix
gutes *g

mit anderen Worten, das ist ein PCL6 und kein PCL5e Treiber?

Und nein - das Script mit dem Copy hatte kein FOR %%p in copy...
Bitte warten ..
Mitglied: Netkid
06.06.2011 um 14:33 Uhr
Hallo Sonorc,
Dein Batch ist super.
Wie muß man es denn coden, daß immer nu ein bestimmtes PDF
als Text (mit fixen Dateinamen) automatisch gespeichert wird?
Das würde mir sehr helfen.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

Batch & Shell
gelöst 1 PDF duplizieren und umbenennen nach CSV mittels Batch (5)

Frage von Kalisser zum Thema Batch & Shell ...

Batch & Shell
gelöst PDF-Stapelverarbeitung mit PDFTK (in batch, shell, powershell) (3)

Frage von brause1701 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...