Stampare file da CMD o PowerShell in Windows

Ultimo aggiornamento: 01/09/2025
Autore: Isaac
  • Out-Printer invia oggetti o testo alla stampante (Windows) e non restituisce alcun output nella pipeline.
  • STAMPA in CMD stampa file di testo e consente di scegliere un dispositivo con /D.
  • Prima di stampare, filtrare e consolidare con Get-Content, caratteri jolly e -Exclude per evitare loop.

Stampa file da CMD o PowerShell

Se lavori in Windows e hai dimestichezza con la console, prima o poi vorrai inviare documenti alla stampante senza aprire alcuna applicazione grafica. Stampa da CMD o PowerShell È veloce, programmabile e perfetto per automatizzare le attività. di giorno in giorno, dall'invio di un SMS alla copia dell'output di un comando direttamente su carta.

In questa guida spiego, con un approccio pratico, i due modi principali: il cmdlet PowerShell Out-Printer e il comando PRINT del Simbolo del sistema. Vedrai anche come preparare i file, filtrare i contenuti, evitare errori tipici e concatenare comandi per controllare ciò che stampi fino all'ultimo dettaglio. Il tutto con sintassi, esempi e sfumature importanti che vorrai conoscere.

Opzioni per la stampa in Windows dalla console

In Windows, hai due opzioni complementari. Da un lato, PowerShell offre il cmdlet Out-Printer per inviare l'output di un comando o di un oggetto alla stampante (quella predefinita o una specifica). È diretto, funziona tramite pipeline ed eredita le impostazioni predefinite della stampante, senza esporre i controlli di formattazione sul cmdlet stesso.

D'altro canto, il Prompt dei comandi (CMD) mantiene il classico comando PRINT per i testi, con la possibilità di scegliere un dispositivo. È un'utilità veterana focalizzata sui file di testo, utile quando non si ha bisogno di tutta la potenza di PowerShell o si lavora con script batch.

Opzioni per la stampa dalla console in Windows

Una sfumatura fondamentale: Out-Printer esiste solo su Windows (non macOS o Linux). Se si utilizza PowerShell su altre piattaforme, questo cmdlet non è disponibile., quindi dovrai cercare alternative specifiche per quell'ambiente, come ad esempio Stampa dal terminale in Linux.

In entrambi i casi, se non si specifica una stampante, verrà utilizzata quella predefinita del sistema. Quando è necessario puntare a una stampante di rete, è possibile specificarne il nome UNC. con Out-Printer e, in CMD, il dispositivo corrispondente in PRINT.

Out-Printer in dettaglio: sintassi, parametri e comportamento

Questa è la struttura del cmdlet, così avrai sempre a portata di mano il riferimento. Nota i parametri facoltativi Nome e InputObject e supporta i consueti CommonParameters di PowerShell.

Out-Printer  <String>]  

Breve descrizione del comportamento: Out-Printer invia l'output alla stampante predefinita o a un'altra stampante, se specificata. Non offre opzioni di formattazione o controlli per i processi di stampa.; vengono utilizzati i valori predefiniti della stampante selezionata.

  • Piattaforma: Finestre.
  • Formato: I cmdlet con il verbo Out non formattano; vengono renderizzati e inviati in output a una destinazione di presentazione.
  • Uscita in canalizzazione: non emette alcun oggetto. Se inoltri il suo output a Get-Member, vedrai che non c'è nulla da esaminare.

Parametri principali: Sono pochi e semplici, il che li rende più rapidi da usare. negli script e nella console interattiva.

  • -Name (alias: PrinterName). Tipo: Stringa, Posizione: 0, Facoltativo. Indica la stampante di destinazione.
  • -InputOggettoTipo: PSObject. Accetta valori inoltrati tramite pipe, facoltativo. Questo è l'oggetto inviato alla stampante.
  • Parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, -WarningVariable.

Ingressi e uscite: È possibile reindirizzare qualsiasi PSObject come inpute il cmdlet non restituisce nulla (OutputType: None). Questo lo rende ideale come endpoint per una pipeline.

  Sette passi per trasformare il tuo rapporto con il denaro

Note operative: quando Out-Printer riceve un oggetto non elaborato, PowerShell inserirà automaticamente un cmdlet di formattazione prima di eseguirne il rendering. Ciò garantisce che ciò che arriva alla stampante abbia una rappresentazione testuale., anche se non si specifica manualmente il formato.

Cmdlet Out-Printer in PowerShell

Esempi pratici con Out-Printer

La stampa di un file sulla stampante predefinita anche se Out-Printer non ha -Path è molto semplice: basta leggere il file e inviarlo.

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

In questo schema, Get-Content estrae il contenuto e Out-Printer lo invia alla stampante predefinita. Usalo per TXT, i registri o output che sono già testo normale.

La stampa di una stringa su una stampante remota (UNC) consente di testare rapidamente la connettività e lo spooling di stampa. È ideale per verificare che il nome condiviso della stampante sia corretto..

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

Se si desidera stampare la guida completa per un cmdlet, è possibile scaricare il contenuto di Get-Help e inviarlo come oggetto. La chiave è usare -InputObject con il valore recuperato in precedenza.

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

Ricorda che Out-Printer non controlla le opzioni di stampa (pagine, vassoio, fronte-retro, ecc.). Verranno sempre applicati i valori predefiniti della stampante., quindi qualsiasi messa a punto dovrà essere eseguita sul dispositivo o con strumenti specifici diversi dal cmdlet.

Stampa dal prompt dei comandi con PRINT

Il comando PRINT è nativo di Windows 10/11 e delle moderne edizioni di Windows Server. Il suo scopo è semplice: stampare file di testo da CMD.

PRINT    archivo ]

L'opzione /D specifica il dispositivo di stampa. Se non lo si specifica, verrà utilizzata la stampante predefinita.È un'utilità perfetta se il tuo flusso di lavoro è ancora basato su batch e lavori con TXT puro.

Un esempio di base per inviare un file .txt al dispositivo predefinito sarebbe il seguente: Aprire CMD dove si trova il file ed eseguire PRINT nome.txtSe si utilizza una stampante mappata o un nome di dispositivo specifico, aggiungerlo con /D.

Preparare e selezionare cosa stampare con i cmdlet dei file

Prima di stampare, è consigliabile decidere quali file verranno messi in coda, spostarli in una cartella temporanea o filtrarli in base a criteri. PowerShell brilla qui con i cmdlet del file system.

L'elenco dei contenuti con Get-ChildItem (alias: gci, dir, ls) e la visualizzazione dei file nascosti o di sistema sono immediati con -Force. Aggiungi -Recurse se vuoi approfondire le sottocartelle.

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

Se stai cercando un filtraggio più sofisticato, combina gci con Where-Object per basare il filtro su proprietà come data e dimensione. Questo modello è ideale per generare elenchi di inventario stampabili..

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

Gestione dei file prima della stampa

Copiare o controllare le versioni dei file di lavoro è un gioco da ragazzi con Copy-Item, mentre con Test-Path è possibile verificarne l'esistenza precedente. Utilizzare -Forza per sovrascrivere le destinazioni di sola lettura.

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

Per preparare le strutture delle cartelle di stampa, creare directory e file vuoti con New-Item. A seconda delle tue esigenze, differenzia tra -ItemType Directory e -ItemType File..

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

Se è necessario ripulire le cartelle intermedie, Remove-Item elimina file o directory. Quando c'è del contenuto e vuoi evitare le conferme, aggiungi -Recurse.

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

È anche possibile mappare una cartella come unità logica temporanea con New-PSDrive per abbreviare i percorsi durante il processo. Con -Persist sono supportati e integrati in Explorer solo i percorsi remoti.

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

Leggere, scrivere e combinare i testi prima di stamparli

Get-Content legge i file di testo come un array (ogni riga è un elemento). Ciò rende molto comodo visualizzare in anteprima, filtrare o trasformare prima della stampa..

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

Per generare contenuti al volo, Write-Output (ovvero: write, echo) e il reindirizzamento sono i tuoi alleati. Reindirizzare con > per creare/sovrascrivere e con >> per aggiungere.

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

Se vuoi clonare il contenuto, puoi usare Get-Content con reindirizzamento invece di Copy-Item. Funziona bene con modelli e caratteri jolly quando si consolidano testi..

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

Attenzione a un classico: reindirizzare Get-Content *.txt a un file che termina anch'esso in .txt nella stessa directory può creare un ciclo "infinito" perché il file di destinazione diventa quello di origine. Si annulla con Ctrl-C, ma prevenire è meglio.

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

La soluzione più pulita è escludere il file di destinazione con il parametro -Exclude. In questo modo si evita che il proprio risultato entri nel set di input..

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

Utilizza i caratteri jolly a tuo vantaggio per selezionare esattamente ciò di cui hai bisogno (ad esempio, ben*.txt). Una selezione ben studiata riduce le sorprese e velocizza il flusso..

  Come creare un account Instagram come blog personale dal tuo cellulare Una guida di base

Ricerca rapida e conteggio prima dell'invio alla stampante

Per individuare frammenti specifici in più file, Select-String (alias: sls) è come avere grep integrato in PowerShell. Perfetto per verificare che il testo da stampare contenga ciò che ti aspetti..

Select-String "existencia única" *.txt

E se hai bisogno di metriche rapide, puoi passare a Measure-Object (misura) per contare righe, parole e caratteri. Aggiungi -IgnoreWhiteSpace se vuoi escludere gli spazi.

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

Questo controllo preventivo consente di risparmiare carta e tempo, soprattutto in caso di lotti di grandi dimensioni. Misura, controlla e poi stampa con Out-Printer o PRINT con la tranquillità che ciò che esce dalla stampante è esattamente ciò di cui hai bisogno.

Flussi di lavoro tipici per la stampa dalla console

Scenario 1: stampare un TXT generato da un processo. Leggi, controlla alcune righe e invia alla stampante predefinita.

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

Scenario 2: inviare un'etichetta o un'intestazione a una stampante condivisa. Ideale per test o stampanti di rete.

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

Scenario 3: consolidare diversi registri della giornata e poi stamparli. Evita il ciclo di output con -Exclude e filtra in base al modello di data, se necessario.

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

Scenario 4 (CMD): stampare rapidamente un TXT da un copione lotto. Utile quando PowerShell non fa parte del flusso (vedere aprire file PRN).

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

Suggerimenti correlati per la navigazione e la produttività

Per spostarsi tra le cartelle: Imposta posizione (sl, cd) e completamento tramite tabulazione evitano errori di digitazione. È possibile combinare percorsi relativi come ..\.. per saltare i rami.

Se si passa spesso da una posizione all'altra, Push-Location (pushd) e Pop-Location (popd) sono molto comode: Si salva la posizione corrente nello stack e si torna indietro con un singolo comando..

Preferisci vedere qualcosa in Explorer? Avvia Explorer dalla cartella corrente. In questo modo puoi verificare visivamente cosa stai per stampare dalla console..

Rinominare o spostare file con Move-Item (mv) e copiarli con Copy-Item (cp) è un'operazione rapidissima. Fate attenzione quando usate rm (Remove-Item): elimina gli elementi in modo permanente., non finisce nella spazzatura.

  Come cambiare l'immagine del profilo utente in Windows 11

Se si lavora con elenchi (ad esempio, host o indirizzi IP) in un file TXT, Get-Content restituisce un array; è possibile utilizzarlo come base per generare un report e inviarlo a Out-Printer. Il pipelining trasforma questi flussi in passaggi concisi e ripetibili..

Aiuto integrato e parametri utili

Get-Help mostra la sintassi e i parametri di qualsiasi cmdlet. Se aggiungi -Online, verrà aperta una guida dettagliata nel browser.È il modo più rapido per chiarire dubbi specifici.

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

Nel caso di Get-Content, -TotalCount consente di leggere solo le prime X righe e -Tail le ultime X. Sono perfetti per controllare un pezzo prima della stampa. ed evitare sorprese sulla carta.

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

Hai già visto che -Exclude è fondamentale per impedire che il file di destinazione diventi quello di origine durante un consolidamento. Tenetelo a mente quando lavorate con i caratteri jolly. e reindirizzamenti.

Limitazioni, avvertenze e buone pratiche

Out-Printer non ha controlli per il formato, i margini o i vassoi; accetta le impostazioni predefinite della stampanteSe hai bisogno di un maggiore controllo, cerca strumenti specifici del produttore o genera un PDF con il formato desiderato e poi stamparlo (ad esempio, Stampa come PDF in Windows 11).

Out-Printer non invia dati alla pipeline, per impostazione predefinita. Non provare a concatenare il suo risultato a Get-Member: Non ci sarà alcun oggetto da esaminare. Utilizzare questo come passaggio finale della pipeline.

Se si stampano grandi volumi di testo, controllare prima la dimensione e il numero di righe con Measure-Object. Un controllo di 5 secondi può far risparmiare molte pagine e inchiostro.

Quando si usa PRINT in CMD, bisogna ricordare che si concentra sui file di testo. Per i contenuti non testuali, PowerShell e Out-Printer offrono un rendering più flessibile. grazie alla pipeline e alla conversione preventiva degli oggetti in testo.

E se qualcosa "pensa" troppo a lungo (ad esempio, un loop dovuto a un reindirizzamento mal pianificato), interrompetelo con Ctrl-C e rivedete i comandi. Evitare di utilizzare lo stesso modello di input del nome del file di output nella stessa directory.

Questa procedura dettagliata ti consentirà di stampare dalla console con facilità: avrai familiarità con Out-Printer e PRINT, saprai come preparare e filtrare i file, misurare il contenuto, cercare stringhe ed evitare insidie ​​come i loop di reindirizzamento. Con queste parti puoi assemblare flussi robusti, ripetibili e veloci che inviano esattamente ciò che desideri, alla stampante che desideri, senza dipendere dall'interfaccia grafica.

comando powershell stampa
Articolo correlato:
Come stampare facilmente da CMD o PowerShell

Lascia un commento