Drucken über die Windows 7-Befehlszeile

116405
mizipzor

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

Versuchte den Befehl:

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

Dieser Drucker soll PDF-Dateien erstellen (wie den XPS-Drucker), es ist jedoch nicht möglich, dass etwas in der Druckerwarteschlange angezeigt wird. Ideen?

8
http://technet.microsoft.com/en-us/library/cc775908(v=ws.10).aspx Ishikawa Yoshi vor 12 Jahren 0
Ähnlich Ihrer Frage http://stackoverflow.com/questions/5104930/how-to-print-through-cmd Ishikawa Yoshi vor 12 Jahren 1
Versuchen Sie, PDF-Dateien zu erstellen oder zu drucken (oder beides)? martineau vor 12 Jahren 0
@martineau Ich versuche, PDF-Dateien mit diesem "Drucker" zu erstellen. Ich denke also beides. Aber ich suche keine physischen Papiere. mizipzor vor 12 Jahren 0
@mizipzor: OK, ich verstehe. Ich denke, Dennis hat deine Antwort. Ich würde es, wenn möglich, `LPT1` zuweisen, was für die meisten Befehle die Standardeinstellung ist. martineau vor 12 Jahren 0
@martineau hat dies tatsächlich getan, indem er den Drucker ordnungsgemäß an den Drucker verwies, wurde er zur Druckerwarteschlange hinzugefügt. Es konnte jedoch nicht abgeschlossen werden und steckte mit einem Fehler fest. Ich gehe davon aus, dass dieser Drucker für die Ausgabe einen "Datei speichern" -Dialog öffnet. Etwas, das wahrscheinlich nicht möglich ist, wenn es von der Kommandozeile aus gestartet wird. mizipzor vor 12 Jahren 0
@ Mizipzor: Gut. Ich vermute, das aktuelle Problem ist _not_, weil es von der Befehlszeile aus gestartet wurde, was ein Programm nicht an der Anzeige eines Dialogs hindern würde. Prüfen Sie, ob im Drucker in der Kontrollleiste Geräte und Drucker Fehlerinformationen für den Drucker vorhanden sind - oder drucken Sie dort eine Testseite und sehen Sie, was passiert. martineau vor 12 Jahren 0
@ mizipzor: Der Job bleibt hängen, da der Drucker keine *** TEXT *** -Eingabedatei verwenden kann! Windows-Druckerwarteschlangen sind in dieser Hinsicht viel dümmer (im Gegensatz zu CUPS Linux / Unix / OSX-Warteschlangen, die die eingehenden Daten automatisch eingeben und automatisch in das konvertieren können, was der jeweilige Druckauftrag als verdaubare Daten meldet). Ihr Drucker erwartet sehr wahrscheinlich *** PostScript *** -Daten als Eingabe, um daraus eine PDF-Datei zu erstellen. Daher funktioniert das, was Sie mit Ihrem Befehl versuchen, nicht: Senden Sie eine Textdatei an einen PDF-Drucker. Kurt Pfeifle vor 9 Jahren 0

5 Antworten auf die Frage

14
Dennis

Der printBefehl verwendet den folgenden 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 Ihres Computers angeben, an den der Drucker angeschlossen ist. Gültige Werte für parallele Anschlüsse 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 des Warteschlangennamens angeben (\ ServerName \ ShareName). Wenn Sie keinen Drucker angeben, wird der Druckauftrag an LPT1 gesendet.

Das 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 aus .
    3. In der Ports Registerkarte einen nicht verwendeten Port von zuweisen COM1:zu COM4:zu Ihrem Drucker.
    4. Wenn Sie beispielsweise gewählt haben COM3, drucken Sie mit folgendem Befehl:

      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 aus .
    3. Im Freigabe Register beschließt, den Drucker zu teilen und einen Freigabenamen zuweisen.
    4. Wenn Sie beispielsweise gewählt haben CutePDF, drucken Sie mit folgendem Befehl:

      print /d:\\%COMPUTERNAME%\CutePDF test.txt 
wenn ich mit cmd vom Drucker scannen möchte, was tun? Muath vor 9 Jahren 0
Sie können Ihr TXT zuerst in ein PDF-Format konvertieren, indem Sie ein kostenloses Befehlszeilenprogramm namens text2pdf verwenden: http://www.eprg.org/pdfcorner/text2pdf/ Sun vor 8 Jahren 0
4
ansel

Hi Das Folgende ist einfacher, wenn Sie CutePDF als Standarddrucker festlegen, wenn Sie wissen, dass DOS ein Drucker als Standardeinstellung festlegen soll. Es sollte kein Problem sein, und dann auf die Standarddruckereinstellung zurücksetzen.

Um eine Textdatei oder HTM-Datei oder eine BAT-Datei oder eine beliebige Textdatei zu drucken, geben Sie Folgendes ein

 notepad /p test.txt 

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

3
Кое Кто

Drucken von registrierten Dateitypen Dateien, die unter Windows (95/98 / NT / 2000) eine Dateitypzuordnung haben, können mit der rechten Maustaste gedruckt werden

Diese Zuordnung kann zB für die .rtf-Datei in gesehen werden

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

wo der Befehl so aussieht:

"%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 Windows in Windows ausgeliefert wird.

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

Streng:

"%windir%\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "& " 

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

1
Kurt Pfeifle

@mizipzor:

  1. Die Job - Datei wird erfolgreich in die Printqueue, wenn Sie Dennis' Antwort folgen.

  2. Die Jobverarbeitung bleibt jedoch stecken, weil der Drucker keine TEXT- Eingabedatei verwenden kann! Die Gründe:

    • Windows-Druckerwarteschlangen sind in dieser Hinsicht viel dummer (im Gegensatz zu CUPS Linux / Unix / OSX-Warteschlangen - diese können die eingehenden Daten automatisch tippen und automatisch in das konvertieren, was der jeweilige printqueue als verdaubare Daten meldet).
    • Ihr Drucker erwartet höchstwahrscheinlich PostScript- Daten als Eingabe, um daraus eine PDF-Datei zu erstellen.

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

0
user809460

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