Drucken über die Windows 7-Befehlszeile

8

Ich möchte das Drucken in Windows 7 automatisieren. Idealerweise über die Befehlszeile. Als hätte ich mit der rechten Maustaste geklickt und "Drucken" ausgewählt.

Versuchte den Befehl:

C:\>print /D:"CutePDF Writer" test.txt

Dieser Drucker soll PDF-Dateien erstellen (wie der XPS-Drucker), hat es jedoch nicht geschafft, dass etwas in der Druckerwarteschlange angezeigt wird. Ideen?

Mizipzor
quelle
1
Ähnlich wie bei Ihrer Frage stackoverflow.com/questions/5104930/how-to-print-through-cmd
Ishikawa Yoshi
Versuchen Sie, PDF-Dateien zu erstellen oder zu drucken (oder beides)?
Martineau
@martineau Ich versuche, PDF-Dateien mit diesem "Drucker" zu erstellen. Also ich denke beides. Aber ich suche keine physischen Papiere.
Mizipzor
@ Mizipzor: OK, ich verstehe. Ich denke Dennis hat deine Antwort. Ich würde es LPT1wenn möglich zuweisen , was die Standardeinstellung für die meisten Befehle ist.
Martineau

Antworten:

15

Der printBefehl verwendet die folgende Synatx für den /d:Switch:

Gibt den Drucker an, auf dem Sie den Auftrag drucken möchten. Sie können einen lokalen Drucker angeben, indem Sie den Anschluss an Ihrem Computer angeben, an den der Drucker angeschlossen ist. Gültige Werte für parallele Ports sind LPT1, LPT2 und LPT3. Gültige Werte für serielle Schnittstellen sind COM1, COM2, COM3 und COM4. Sie können einen Netzwerkdrucker auch anhand seines Warteschlangennamens (\ Servername \ Freigabename) angeben. Wenn Sie keinen Drucker angeben, wird der Druckauftrag an LPT1 gesendet.

Dies bedeutet, dass Sie nicht "CutePDF Writer"als Argument verwenden können.

Es gibt zwei Möglichkeiten, die funktionieren sollten:

  • Weisen Sie Ihrem Drucker einen COM-Anschluss zu.

    1. Öffnen Sie Start → Systemsteuerung → Geräte und Drucker .
    2. Klicken Sie mit der rechten Maustaste auf den CutePDF Writer und wählen Sie Druckereigenschaften .
    3. In der Ports Registerkarte einen nicht verwendeten Port von zuweisen COM1:zu COM4:zu Ihrem Drucker.
    4. Wenn Sie z. B. COM3Drucken mit dem folgenden Befehl gewählt haben:

      print /d:COM3 test.txt
      
  • Geben Sie den Drucker frei.

    1. Öffnen Sie Start → Systemsteuerung → Geräte und Drucker .
    2. Klicken Sie mit der rechten Maustaste auf den CutePDF Writer und wählen Sie Druckereigenschaften .
    3. Im Freigabe Register beschließt , den Drucker zu teilen und einen Freigabenamen zuweisen.
    4. Wenn Sie z. B. CutePDFDrucken mit dem folgenden Befehl gewählt haben:

      print /d:\\%COMPUTERNAME%\CutePDF test.txt
      
Dennis
quelle
Wenn ich mit cmd vom Drucker scannen möchte, was tun?
Muath
Möglicherweise möchten Sie Ihre TXT zuerst mit einem kostenlosen Befehlszeilenprogramm namens text2pdf in PDF konvertieren: eprg.org/pdfcorner/text2pdf
So
5

Hi Das Folgende ist einfacher, CutePDF als Standarddrucker festzulegen, wenn Sie DOS kennen. Dann sollte es kein Problem sein, einen Drucker als Standard festzulegen und dann wieder auf die Standarddruckereinstellung zurückzusetzen.

Geben Sie Folgendes ein, um eine Textdatei oder eine HTML-Datei oder eine Bat-Datei oder eine beliebige Textdatei zu drucken

  notepad /p test.txt

Für andere Programme finden Sie das Befehlszeilenformat zum Drucken (in regedit oder in der Dokumentation).

ansel
quelle
4

Registrierte Dateitypen drucken Dateien mit einer Dateitypzuordnung in Windows (95/98 / NT / 2000) können mit der rechten Maustaste gedruckt werden

Diese Zuordnung ist beispielsweise für die RTF-Datei in zu sehen

"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\rtffile\shell\printto\command"

wo Befehl sieht ungefähr so ​​aus:

"%ProgramFiles%\Windows NT\Accessories\WORDPAD.EXE" /pt "%1" "%2" "%3" "%4"

was bedeutet :

"wordpad.exe /pt TextFileName PrinterName [ DriverName [ PortName ] ]"

(eckige Klammern bedeuten optional). Es kann von cmd mit Powershell aufgerufen werden, das seit Vista in Windows ausgeliefert wird.

powershell -command "start -verb printto AnyFile.rtf PrinterName [ DriverName [ PortName ] ]"

Streng:

"%windir%\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "& {Start-Process -FilePath  'test.txt'  -ArgumentList '\"CutePDF Writer\"' -Verb 'printto' }"

Es funktioniert für fast alle registrierten Dateitypen mit einem solchen registrierten Verb (printto)! Die Druckertreiber zeigen jedoch normalerweise den Benutzerdialog an. Die Anzeige des Benutzerdialogs kann im Bullzip Pdf-Drucker deaktiviert werden.

Кое Кто
quelle
1

@ Mizipzor:

  1. Die Jobdatei wird erfolgreich in die Druckwarteschlange gestellt, wenn Sie Dennis 'Antwort folgen.

  2. Aber dann bleibt die Auftragsverarbeitung hängen, weil dieser Drucker keine TEXT- Eingabedatei verwenden kann! Die Gründe:

    • Windows-Druckwarteschlangen sind in dieser Hinsicht viel dümmer (im Gegensatz zu CUPS Linux / Unix / OSX-Warteschlangen, bei denen eingehende Daten automatisch eingegeben und automatisch in die von der jeweiligen Druckwarteschlange als verdauliche Daten gemeldeten Daten konvertiert werden können).
    • Ihr Drucker erwartet sehr wahrscheinlich PostScript- Daten als Eingabe, um daraus ein PDF zu erstellen.

Daher funktioniert das , was Sie mit Ihrem Befehl versuchen, nicht : Senden Sie eine Textdatei an einen PDF-erstellenden "Drucker". Und es ist auch nicht möglich, es auf eine andere "einfache" Weise zum Laufen zu bringen ...

Kurt Pfeifle
quelle
0

Systemsteuerung und dann Geräte und Drucker Klicken Sie mit der rechten Maustaste auf Drucker und dann auf Druckereigenschaften. Stellen Sie sicher, dass der Drucker freigegeben ist und der "Freigabename" maximal 8 Zeichen lang ist. Bei DOS-Eingabeaufforderung> net use lpt1: \ 127.0.0.1 \ Jetzt werden Ihre DOS-Programme gedruckt!

user809460
quelle