CMD/Batch: Wie drucke ich mit PRINT auf einen virtuellen Drucker – FinePrint?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

KnorxyThieus 
Fragesteller
 03.04.2015, 09:05

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.

0

PS: Ich hätte auch nichts gegen eine andere Lösung (explorer.exe, vbs, …), solange sie nur funktioniert und keine weiteren Fenster angezeigt werden.

Woher ich das weiß:Studium / Ausbildung – Studiere Informatik und programmiere aus Leidenschaft
Roderic  03.04.2015, 07:08

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:

Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Open("c:\scripts\inventory.doc")

objDoc.PrintOut()
objWord.Quit
1
KnorxyThieus 
Fragesteller
 03.04.2015, 09:16
@Roderic

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) 

0

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

KnorxyThieus 
Fragesteller
 03.04.2015, 09:06

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? :)

0
verreisterNutzer  03.04.2015, 09:25
@KnorxyThieus

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ß

1
KnorxyThieus 
Fragesteller
 10.04.2015, 22:20
@verreisterNutzer

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.

0