Drucken Sie Dateien von CMD oder PowerShell in Windows

Letzte Aktualisierung: 01/09/2025
Autor: Holger
  • Out-Printer sendet Objekte oder Text an den Drucker (Windows) und gibt keine Ausgabe in der Pipeline zurück.
  • DRUCKEN in CMD druckt Textdateien und ermöglicht Ihnen die Auswahl eines Geräts mit /D.
  • Vor dem Drucken filtern und konsolidieren Sie mit Get-Content, Platzhaltern und -Exclude, um Schleifen zu vermeiden.

Drucken Sie Dateien über CMD oder PowerShell

Wenn Sie unter Windows arbeiten und mit der Konsole vertraut sind, möchten Sie früher oder später Dokumente an den Drucker senden, ohne grafische Anwendungen zu öffnen. Drucken von CMD oder Powershell Es ist schnell, skriptfähig und perfekt für die Automatisierung von Aufgaben. von Tag zu Tag, vom Senden einer TXT bis zum direkten Ausgeben der Ausgabe eines Befehls auf Papier.

In diesem Handbuch erkläre ich mit einem praktischen Ansatz die beiden wichtigsten Möglichkeiten: das PowerShell Out-Printer-Cmdlet und den PRINT-Befehl des Eingabeaufforderung. Sie erfahren außerdem, wie Sie Dateien vorbereiten, Inhalte filtern, typische Fehler vermeiden und Kettenreaktionen durchführen. Befehle um bis ins kleinste Detail zu kontrollieren, was Sie ausdrucken. Alles mit Syntax, Beispielen und wichtigen Nuancen, die Sie kennen sollten.

Optionen zum Drucken in Windows von der Konsole aus

In Windows stehen Ihnen zwei sich ergänzende Optionen zur Verfügung. Einerseits bietet PowerShell das Cmdlet Out-Printer, um die Ausgabe eines Befehls oder Objekts an den Drucker (entweder den Standarddrucker oder einen bestimmten Drucker) zu senden. Es ist direkt, arbeitet per Pipeline und übernimmt die Standarddruckereinstellungen, ohne Formatierungssteuerelemente im Cmdlet selbst verfügbar zu machen.

Andererseits behält die Eingabeaufforderung (CMD) den klassischen PRINT-Befehl für Texte bei, mit der Option, ein Gerät auszuwählen. Es handelt sich um ein erfahrenes Dienstprogramm, das sich auf Textdateien konzentriert, nützlich, wenn Sie nicht die volle Leistung von PowerShell benötigen oder mit Batch-Skripten arbeiten.

Optionen zum Drucken von der Konsole in Windows

Eine wichtige Nuance: Out-Printer existiert nur unter Windows (nicht unter macOS oder Linux). Wenn Sie PowerShell auf anderen Plattformen verwenden, ist dieses Cmdlet nicht verfügbar., daher müssen Sie nach Alternativen suchen, die speziell auf diese Umgebung zugeschnitten sind, wie z. B. Drucken vom Terminal unter Linux.

Wenn Sie in beiden Fällen keinen Drucker angeben, wird der Systemstandard verwendet. Wenn Sie auf einen Netzwerkdrucker verweisen müssen, können Sie seinen UNC-Namen angeben. mit Out-Printer und in CMD das entsprechende Gerät in PRINT.

Out-Printer im Detail: Syntax, Parameter und Verhalten

Dies ist das Grundgerüst des Cmdlets, sodass Sie die Referenz zur Hand haben. Beachten Sie die optionalen Parameter Name und InputObject und unterstützt die üblichen PowerShell CommonParameters.

Out-Printer  <String>]  

Kurze Beschreibung des Verhaltens: Out-Printer sendet die Ausgabe an den Standarddrucker oder einen anderen Drucker, wenn Sie ihn angeben. Es bietet keine Formatierungsoptionen oder Druckauftragssteuerungen.; es werden die Standardwerte des ausgewählten Druckers verwendet.

  • Plattform: Fenster.
  • Format: Cmdlets mit dem Verb „Out“ führen keine Formatierung durch, sondern rendern und geben die Ausgabe an ein Präsentationsziel aus.
  • Kanalisierte Ausgabe: gibt keine Objekte aus. Wenn Sie die Ausgabe an Get-Member weiterleiten, sehen Sie, dass es nichts zu untersuchen gibt.

Hauptparameter: Sie sind wenige und einfach, was ihre Verwendung beschleunigt. in Skripten und in der interaktiven Konsole.

  • -Name (Alias: Druckername). Typ: Zeichenfolge, Position: 0, Optional. Gibt den Zieldrucker an.
  • -Eingabeobjekt. Typ: PSObject. Akzeptiert optional weitergeleitete Werte. Dies ist das an den Drucker gesendete Objekt.
  • Gemeinsame Parameter: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, -WarningVariable.

Ein- und Ausgänge: Sie können jedes PSObject als Eingabe weiterleiten, und das Cmdlet gibt nichts zurück (OutputType: None). Dies macht es ideal als Endpunkt für eine Pipeline.

  So nutzen Sie den versteckten Index und die besten Funktionen zum Suchen von Apps in Windows 11

Betriebshinweise: Wenn Out-Printer ein Rohobjekt empfängt, fügt PowerShell vor dem Rendern automatisch ein Formatierungs-Cmdlet ein. Dadurch wird sichergestellt, dass die Daten, die den Drucker erreichen, in Textform vorliegen., auch wenn Sie das Format nicht manuell angeben.

Out-Printer-Cmdlet in PowerShell

Praxisbeispiele mit Out-Printer

Das Drucken einer Datei auf dem Standarddrucker ist sehr einfach, auch wenn Out-Printer keinen -Path hat: Lesen Sie einfach die Datei und leiten Sie sie weiter.

Get-Content -Path ./readme.txt | Out-Printer

In diesem Muster extrahiert Get-Content den Inhalt und Out-Printer sendet ihn an den Standarddrucker. Verwenden Sie es für TXT, Protokolle oder Ausgaben, die bereits einfacher Text sind.

Durch das Drucken einer Zeichenfolge auf einem Remotedrucker (UNC) können Sie die Konnektivität und das Druckspooling schnell testen. Es eignet sich ideal zum Überprüfen, ob der Freigabename des Druckers korrekt ist..

"Hello, World" | Out-Printer -Name "\\Server01\Prt-6B Color"

Wenn Sie die vollständige Hilfe für ein Cmdlet drucken möchten, können Sie den Inhalt von Get-Help sichern und als Objekt senden. Der Schlüssel besteht darin, -InputObject mit dem zuvor abgerufenen Wert zu verwenden.

$H = Get-Help -Full Get-CimInstance
Out-Printer -InputObject $H

Denken Sie daran, dass Out-Printer keine Druckoptionen (Seiten, Fach, Duplex usw.) steuert. Es werden immer die Standardwerte des Druckers angewendet., daher muss jede Feinabstimmung auf dem Gerät oder mit anderen speziellen Tools als dem Cmdlet vorgenommen werden.

Drucken aus der Eingabeaufforderung mit PRINT

Der PRINT-Befehl ist in Windows 10/11 und modernen Windows Server-Editionen nativ enthalten. Sein Zweck ist einfach: Textdateien von CMD drucken.

PRINT    archivo ]

Die Option /D gibt das Druckgerät an. Wenn Sie ihn nicht angeben, wird der Standarddrucker verwendet.Es ist ein perfektes Dienstprogramm, wenn Ihr Workflow noch stapelbasiert ist und Sie mit reinem TXT arbeiten.

Ein einfaches Beispiel zum Senden einer .txt-Datei an das Standardgerät wäre so einfach wie: Öffnen Sie CMD dort, wo sich die Datei befindet, und führen Sie PRINT name.txt ausWenn Sie einen zugeordneten Drucker oder einen bestimmten Gerätenamen verwenden, hängen Sie /D an.

Vorbereiten und Auswählen der zu druckenden Elemente mit Datei-Cmdlets

Vor dem Drucken empfiehlt es sich, zu entscheiden, welche Dateien in die Warteschlange gestellt werden, sie in einen temporären Ordner zu verschieben oder nach Kriterien zu filtern. PowerShell glänzt hier mit Dateisystem-Cmdlets.

Das Auflisten von Inhalten mit Get-ChildItem (Aliase: gci, dir, ls) und das Anzeigen von versteckten oder Systemdateien erfolgt sofort mit -Force. Fügen Sie -Recurse hinzu, wenn Sie in Unterordner einsteigen möchten.

Get-ChildItem -Path C:\ -Force
Get-ChildItem -Path C:\ -Force -Recurse

Wenn Sie nach einer ausgefeilteren Filterung suchen, kombinieren Sie gci mit Where-Object, um Ihren Filter auf Eigenschaften wie Datum und Größe zu basieren. Dieses Muster eignet sich ideal zum Erstellen druckbarer Inventarlisten..

Get-ChildItem -Path $env:ProgramFiles -Recurse -Include *.exe | 
  Where-Object { ($_.LastWriteTime -gt '2005-10-01') -and ($_.Length -ge 1mb) -and ($_.Length -le 10mb) }

Dateiverwaltung vor dem Drucken

Das Kopieren oder Versionieren von Arbeitsdateien ist mit Copy-Item ein Kinderspiel und mit Test-Path können Sie überprüfen, ob sie bereits vorhanden sind. Verwenden Sie -Force, um schreibgeschützte Ziele zu überschreiben.

if (Test-Path -Path $PROFILE) {
  Copy-Item -Path $PROFILE -Destination $($PROFILE -replace 'ps1$', 'bak') -Force
}

Um Druckordnerstrukturen vorzubereiten, erstellen Sie mit New-Item leere Verzeichnisse und Dateien. Unterscheiden Sie je nach Bedarf zwischen -ItemType Directory und -ItemType File..

New-Item -Path 'C:\temp\Nueva Carpeta' -ItemType Directory
New-Item -Path 'C:\temp\Nueva Carpeta\listado.txt' -ItemType File

Wenn Sie Zwischenordner bereinigen müssen, löscht Remove-Item Dateien oder Verzeichnisse. Wenn Inhalt vorhanden ist und Sie Bestätigungen vermeiden möchten, fügen Sie -Recurse hinzu.

Remove-Item -Path C:\temp\ColaTemporal -Recurse

Sie können mit New-PSDrive sogar einen Ordner als temporäres logisches Laufwerk zuordnen, um die Pfade während des Vorgangs zu verkürzen. Mit -Persist werden nur Remote-Pfade unterstützt und in den Explorer integriert.

New-PSDrive -Name P -Root $env:ProgramFiles -PSProvider FileSystem

Lesen, schreiben und kombinieren Sie Texte vor dem Drucken

Get-Content liest Textdateien als Array (jede Zeile ist ein Element). Dies macht es sehr bequem, vor dem Drucken eine Vorschau anzuzeigen, zu filtern oder umzuwandeln..

$lineas = Get-Content -Path .\listado.txt
$lineas.Length

Um Inhalte im laufenden Betrieb zu generieren, sind Write-Output (auch bekannt als: Schreiben, Echo) und Umleitung Ihre Verbündeten. Umleiten mit > zum Erstellen/Überschreiben und mit >> zum Anhängen.

Write-Output "Encabezado del informe" > informe.txt
Write-Output "Nueva línea" >> informe.txt

Wenn Sie Inhalte klonen möchten, können Sie Get-Content mit Umleitung anstelle von Copy-Item verwenden. Es funktioniert gut mit Mustern und Platzhaltern, wenn Sie Texte konsolidieren..

Get-Content benjamin.txt > benjamin2.txt
Get-Content *.log > combinado.log

Vorsicht vor einem Klassiker: Das Umleiten von Get-Content *.txt zu einer Datei, die ebenfalls auf .txt endet, im selben Verzeichnis kann eine „Endlosschleife“ erzeugen, da die Zieldatei zur Quelle wird. Mit Strg+C brechen Sie ab, aber Vorbeugen ist besser.

Get-Content *.txt > gran.txt   # Riesgo: gran.txt coincide con *.txt

Die saubere Lösung besteht darin, die Zieldatei mit dem Parameter -Exclude auszuschließen. Auf diese Weise vermeiden Sie, dass Ihr eigenes Ergebnis in den Eingabesatz gelangt..

Get-Content *.txt -Exclude gran.txt > gran.txt

Nutzen Sie Platzhalter zu Ihrem Vorteil, um genau das auszuwählen, was Sie benötigen (z. B. ben*.txt). Eine gut abgestimmte Auswahl reduziert Überraschungen und beschleunigt Ihren Arbeitsfluss..

  Fix: Die Windows-Eingabe kann den Systemtreiber für diese Hardware nicht laden (Code 38)

Schnelle Suche und Zählung vor dem Senden an den Drucker

Um bestimmte Fragmente in mehreren Dateien zu finden, ist Select-String (Alias: sls) so, als ob grep in PowerShell integriert wäre. Perfekt zum Überprüfen, ob der zu druckende Text Ihren Erwartungen entspricht..

Select-String "existencia única" *.txt

Und wenn Sie schnelle Messwerte benötigen, leiten Sie eine Pipe an Measure-Object (Maßnahme) weiter, um Zeilen, Wörter und Zeichen zu zählen. Fügen Sie -IgnoreWhiteSpace hinzu, wenn Sie Leerzeichen ignorieren möchten.

Get-Content benjamin.txt | Measure-Object -Line -Word -Character
Get-Content *.txt | Measure-Object -Line -Word -Character -IgnoreWhiteSpace

Diese Vorprüfung spart Papier und Zeit, insbesondere bei großen Chargen. Messen, prüfen, dann ausdrucken mit Out-Printer oder PRINT mit der Gewissheit, dass der Drucker genau das ausgibt, was Sie brauchen.

Typische Arbeitsabläufe für das Drucken von der Konsole

Szenario 1: Drucken Sie eine von einem Prozess generierte TXT-Datei. Lesen, einige Zeilen prüfen und an den Standarddrucker senden.

Get-Content .\resultado.txt -TotalCount 10
Get-Content .\resultado.txt | Out-Printer

Szenario 2: Senden Sie ein Etikett oder eine Kopfzeile an einen gemeinsam genutzten Drucker. Ideal zum Testen oder für Netzwerkdrucker.

"Etiqueta: Pedido 12345" | Out-Printer -Name "\\SrvPrint\HP-Laser"

Szenario 3: Mehrere Protokolle des Tages zusammenfassen und anschließend ausdrucken. Vermeiden Sie die Ausgabeschleife mit -Exclude und filtern Sie bei Bedarf nach Datumsmuster.

Get-Content .\logs\*.2025-09-*.log -Exclude resumen.log > resumen.log
Get-Content resumen.log | Out-Printer

Szenario 4 (CMD): Schnell eine TXT aus einem Skript Stapel. Nützlich, wenn PowerShell nicht Teil des Flows ist (siehe Öffnen Sie PRN-Dateien).

PRINT /D:PRN01 C:\reportes\hoy.txt

Verwandte Navigations- und Produktivitätstipps

So wechseln Sie zwischen Ordnern: Set-Location (sl, cd) und Tab-Vervollständigung ersparen Ihnen Tipparbeit und Fehler. Sie können relative Pfade wie ..\.. kombinieren, um Zweige zu überspringen.

Wenn Sie häufig zwischen zwei Standorten wechseln, sind Push-Location (pushd) und Pop-Location (popd) sehr praktisch: Sie speichern den aktuellen Standort im Stapel und kehren mit einem einzigen Befehl zurück..

Möchten Sie etwas lieber im Explorer sehen? Starten Sie den Explorer aus dem aktuellen Ordner. Auf diese Weise können Sie visuell überprüfen, was Sie von der Konsole aus drucken möchten..

Das Umbenennen oder Verschieben von Dateien mit Move-Item (mv) und das Kopieren mit Copy-Item (cp) geht blitzschnell. Seien Sie vorsichtig bei der Verwendung von rm (Remove-Item): Dadurch werden Elemente dauerhaft gelöscht., es landet nicht im Müll.

  Wie findet man am besten einen Namen mit einer Mobiltelefonnummer?

Wenn Sie mit Listen (z. B. Hosts oder IP-Adressen) in einer TXT-Datei arbeiten, gibt Get-Content ein Array zurück. Auf dieser Grundlage können Sie einen Bericht erstellen und an Out-Printer senden. Durch Pipelining werden diese Abläufe in präzise, ​​wiederholbare Schritte umgewandelt..

Integrierte Hilfe und nützliche Parameter

Get-Help zeigt Ihnen die Syntax und Parameter aller Cmdlets. Wenn Sie -Online hinzufügen, wird eine ausführliche Hilfe im Browser geöffnet.So können konkrete Zweifel am schnellsten geklärt werden.

Get-Help Out-Printer
Get-Help Get-Content -Online

Im Fall von Get-Content können Sie mit -TotalCount nur die ersten X Zeilen und mit -Tail die letzten X Zeilen lesen. Sie eignen sich perfekt zum Überprüfen eines Stücks vor dem Drucken. und vermeiden Sie Überraschungen auf dem Papier.

Get-Content .\informe.txt -TotalCount 10
Get-Content .\informe.txt -Tail 10

Sie haben bereits gesehen, dass -Exclude der Schlüssel dazu ist, zu verhindern, dass die Zieldatei während einer Konsolidierung zur Quelle wird. Beachten Sie dies, wenn Sie mit Platzhaltern arbeiten. und Weiterleitungen.

Einschränkungen, Warnungen und bewährte Verfahren

Out-Printer verfügt über keine Steuerelemente für Format, Ränder oder Fächer. akzeptiert die Standardeinstellungen des DruckersWenn Sie mehr Kontrolle benötigen, suchen Sie nach herstellerspezifischen Tools oder generieren Sie eine PDF mit dem gewünschten Format und drucken Sie es dann aus (zum Beispiel Als PDF drucken in Windows 11).

Out-Printer gibt konstruktionsbedingt keine Ausgabe an die Pipeline aus. Versuchen Sie nicht, das Ergebnis an Get-Member zu ketten: Es gibt kein zu untersuchendes Objekt. Verwenden Sie dies als letzten Schritt in der Pipeline.

Wenn Sie große Textmengen drucken, überprüfen Sie zuerst die Größe und Anzahl der Zeilen mit Measure-Object. Ein 5-Sekunden-Check kann viele Seiten sparen und Tinte.

Wenn Sie PRINT in CMD verwenden, denken Sie daran, dass der Fokus auf Textdateien liegt. Für nicht-textuelle Inhalte bieten PowerShell und Out-Printer eine flexiblere Darstellung. dank der Pipeline und der vorherigen Konvertierung von Objekten in Text.

Und wenn etwas zu lange „nachdenkt“ (zum Beispiel eine Schleife aufgrund einer schlecht geplanten Umleitung), unterbrechen Sie es mit Strg-C und überprüfen Sie die Befehle. Vermeiden Sie die Verwendung desselben Eingabemusters wie für den Ausgabedateinamen im selben Verzeichnis.

Mit dieser exemplarischen Vorgehensweise können Sie problemlos von der Konsole aus drucken: Sie sind mit Out-Printer und PRINT vertraut, wissen, wie Sie Dateien vorbereiten und filtern, Inhalte messen, nach Zeichenfolgen suchen und Fallstricke wie Umleitungsschleifen vermeiden. Mit diesen Teilen können Sie robuste, wiederholbare und schnelle Abläufe zusammenstellen die genau das senden, was Sie möchten, an den gewünschten Drucker, ohne von der grafischen Benutzeroberfläche abhängig zu sein.

PowerShell-Befehl drucken
Verwandte Artikel:
So drucken Sie einfach von CMD oder PowerShell