CMD/Batch: Wie drucke ich mit PRINT auf einen virtuellen Drucker – FinePrint?
Hallo,
Ich versuche gerade, mittels eines CMD-Befehles eine Datei auf den Standarddrucker zu drucken – unabhängig davon, welcher das ist.
Aber wie geht das?
Versuche ich, den Befehl print auszuführen, erhalte ich diese Fehlermeldung:
C:\>print x:\test.txt
Gerät PRN konnte nicht initialisiert werden.
In meinem Fall ist der Standarddrucker ein virtueller Drucker namens FinePrint – es könnte auf dem Zielrechner aber auch anders aussehen.
Gibt es da einen passenden Befehl?
Vielen Dank im Voraus für eure Antworten! :)
Mit freundlichen Grüßen,
KnorxThieus (m)
3 Antworten
start /min notepad /p x:\test.txt
Ja, mit Notepad kann man tatsächlich drucken. Es öffnet sich zwar ein Fenster, dank /min aber minimiert. Sobald der Druckauftrag an den Drucker gesendet wurde, schließt es sich automatisch wieder.
Hm, dass es mittels notepad – ebenfalls übrigens per WordPad – mit Kommandozeile geht, war mir bereits klar …
Ich finde schon, das ist eine Notlösung, aber mit min dann immer noch besser als nix.
PS: Ich hätte auch nichts gegen eine andere Lösung (explorer.exe, vbs, …), solange sie nur funktioniert und keine weiteren Fenster angezeigt werden.
Ah, das klappt wie erwünscht! :D
Arbeitet dein Skript jetzt mit MS Word oder wie?
Kann man das auch für notepad ohne Fenster? :)
Mit freundlichen Grüßen,
KnorxThieus (m)
Hallo!
Ich vermeide inzwischen wo es geht cmd-batch, aber diese Frage ist allgemein zu beantworten.
Das Device PRN ist das Standarddevice aus alter Zeit und geht auf den seriellen Anschluss.
Das andere ist LPT1: und geht auf den parallelen Anschluss (es gibt auch LPT2:).
Ich nehme mal an, dass du den Drucker über USB angeschlossen hast.
Unten der "erweiterte" print-Befehl, du mußt das Zeil angeben.
PRINT ist nur ein Copy auf den Drucker, benutze COPY, da kannst du das Zile einfacher angeben -- wie weis ich jetzt aus dem Kopf leider nicht.
Gruß
PRINT mytext.txt /D:LPT2
Er findet bei mir wie gesagt auch nicht LPT1 oder LPT2 :/
Der Standarddrucker ist virtuell, und der Drucker selber ein Netzwerkdrucker – ich will aber einen universellen Befehl :(
Hast du noch Ideen? :)
Hallo!
Wenn ich es richtig gelesen habe, ist doch die Lösung von S1r1... die richtige, da habe ich dich wohl falsch verstanden, du willst gar nicht richtig drucken, sondern nur tun als ob ...
Das LPT1:, LPT2: nicht gehen ist klar, es ist dasselbe mit wie mit PRN, die gibt es nicht physisch.
Ich habe in Unterlagen folgende Beschreibung gefunden:
Syntax
PRINT [/D:device] [pathname(s)]
Key
device : either a local printer (LPTx, COMx )
or a network printer by its sharename (\\servername\print_share)
pathname : The file or files to be printed
Also, ein virtueller Druck müsste fogendermassen gehen:
PRINT mytext.txt /D:nul
(oder null -> ausprobieren)
Das mit Netzwerk, kann ich gerade nicht sagen, das sieht nach einer Queue aus, die für den Drucker auf einem Druckserver eingerichtet ist
Gruß
Hm, mit virtuell meinte ich, dass der Drucker FinePrint ist – kein wirklicher Drucker, sondern nur eine verbesserte Druckvorschau. Aber mit /D:nul erhält auch FinePrint keinen Auftrag :(
Und außerdem will ich ja in jedem Fall den Standarddrucker ansprechen – egal, welcher das ist.
Das, was S1r1us13 geschrieben hat, funktioniert auch mit pdf Dateien (Acrobat Reader installiert) und mit Word und Excel Dokumenten (Microsoft Office installiert ) ebenso.
Die anderen Dokumente kriegst Du mit vbs gedruckt: