Udskriv filer fra CMD eller PowerShell i Windows

Sidste ændring: 01/09/2025
Forfatter: Isaac
  • Out-Printer sender objekter eller tekst til printeren (Windows) og returnerer intet output i pipelinen.
  • UDSKRIV i CMD udskriver tekstfiler og giver dig mulighed for at vælge en enhed med /D.
  • Før udskrivning skal du filtrere og konsolidere med Get-Content, jokertegn og -Exclude for at undgå løkker.

Udskriv filer fra CMD eller PowerShell

Hvis du arbejder i Windows og er fortrolig med at bruge kommandolinjen, vil du før eller siden ønske at sende dokumenter til printeren uden at åbne nogen grafiske programmer. Udskrivning fra CMD eller PowerShell er hurtig, kan bruges til scripts og er perfekt til at automatisere hverdagsopgaver, lige fra at sende en TXT-fil til at udskrive outputtet af en kommando direkte på papir.

I denne guide vil jeg med en praktisk tilgang forklare de to hovedmetoder: PowerShell-cmdlet'en Out-Printer og kommandopromptens PRINT-kommando . Du vil også se, hvordan du forbereder filer, filtrerer indhold, undgår almindelige fejl og kæder kommandoer sammen for præcist at kontrollere, hvad du udskriver. Alt dette er dækket med syntaks, eksempler og vigtige nuancer, du bør kende.

Indstillinger for udskrivning i Windows fra konsollen

I Windows har du to komplementære tilgange. På den ene side tilbyder PowerShell cmdlet'en Out-Printer til at sende outputtet fra en kommando eller et objekt til printeren (enten standard eller en specifik). Det er ligetil, fungerer via en pipeline og arver printerens standardindstillinger uden at vise formateringskontroller i selve cmdlet'en.

På den anden side bevarer kommandoprompten (CMD) den klassiske PRINT-kommando til tekst, med muligheden for at vælge enhed. Det er et veteranværktøj fokuseret på tekstfiler , nyttigt, når du ikke har brug for PowerShells fulde kraft, eller når du arbejder med batchscripts.

Indstillinger for udskrivning fra konsollen i Windows

Et vigtigt punkt: Out-Printer findes kun i Windows (ikke i macOS eller Linux ). Hvis du bruger PowerShell på andre platforme, er denne cmdlet ikke tilgængelig , så du bliver nødt til at søge efter alternativer, der er specifikke for det pågældende miljø, f.eks. udskrivning fra terminalen i Linux.

I begge tilfælde, hvis du ikke angiver en printer, vil systemets standardværdi blive brugt. Når du skal pege på en netværksprinter, kan du angive dens UNC-navn med Out-Printer og, i CMD, det tilsvarende enhedsnavn med PRINT.

Out-Printer i detaljer: syntaks, parametre og adfærd

Dette er cmdlet-skelettet til din reference. Bemærk de valgfrie parametre Name og InputObject , og at det understøtter standard PowerShell CommonParameters.

Out-Printer  <String>]  

Kort beskrivelse af funktionsmåden: Out-Printer sender output til standardprinteren eller til en anden printer, hvis du angiver en. Den tilbyder ikke formateringsmuligheder eller kontrolfunktioner til udskriftsjob ; standardindstillingerne for den valgte printer bruges.

  • Plataforma: Windows.
  • FormatCmdlets med verbet Out formaterer ikke; de ​​gengives og outputtes til en præsentationsdestination.
  • Kanaliseret output: udsender ingen objekter. Hvis du sender dens output til Get-Member, vil du se, at der ikke er noget at undersøge.

Hovedparametre: de er få og enkle, hvilket fremskynder deres brug i scripts og i den interaktive konsol.

  • -Yam (alias: PrinterName). Type: String, Position: 0, Valgfri. Angiver destinationsprinteren.
  • -InputObjektType: PSObject. Accepterer pipede værdier, valgfrit. Dette er det objekt, der sendes til printeren.
  • Fællesparametre: -Fejlfinding, -Fejlhandling, -Fejlvariabel, -Informationshandling, -Informationsvariabel, -Udbuffer, -Udvariabel, -Pipelinevariabel, -Statushandling, -Uddybende, -Advarselshandling, -Advarselsvariabel.

Input og output: Du kan sende et hvilket som helst PSObject som input , og cmdlet'en returnerer ingenting (OutputType: None). Dette gør den ideel som slutpunkt for en pipeline.

  Hvad er Windows standby-hukommelse, og hvordan tømmes den korrekt?

Operationelle noter: Når Out-Printer modtager et "raw"-objekt, indsætter PowerShell automatisk en formaterings-cmdlet, før det gengives. Dette sikrer, at det, der når printeren, har en tekstrepræsentation , selvom du ikke manuelt angiver formatet.

Out-Printer Cmdlet i PowerShell

Praktiske eksempler med Out-Printer

Det er meget ligetil at udskrive en fil til standardprinteren, selvom Out-Printer ikke har -Path: bare læs filen og send den til pipe.

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

I dette mønster udtrækker Get-Content indholdet, og Out-Printer sender det til standardprinteren. Brug det til TXT-filer, logfiler eller output, der allerede er almindelig tekst.

Ved at udskrive en streng til en fjernprinter (UNC) kan du hurtigt teste forbindelsen og udskriftskøen. Det er ideelt til at bekræfte, at printerens delte navn er korrekt.

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

Hvis du vil udskrive den komplette hjælp til en cmdlet, kan du dumpe indholdet af Get-Help og sende det som et objekt. Nøglen er at bruge -InputObject med den tidligere hentede værdi.

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

Husk at Out-Printer ikke styrer udskrivningsindstillinger (sider, bakke, duplex osv.). Printerens standardindstillinger vil altid blive anvendt , så enhver finjustering skal udføres på selve enheden eller med specifikke værktøjer udover cmdlet'en.

Udskriv fra kommandoprompten med PRINT

PRINT-kommandoen er indbygget i Windows 10/11 og moderne udgaver af Windows Server. Dens formål er simpelt: at udskrive tekstfiler fra CMD.

PRINT    archivo ]

/D-indstillingen angiver udskrivningsenheden. Hvis du ikke angiver en, vil standardprinteren blive brugt . Det er et perfekt værktøj, hvis din arbejdsgang stadig er batchbaseret, og du arbejder med rene TXT-filer.

Et grundlæggende eksempel på at sende en .txt-fil til standardenheden ville være så simpelt som: åbne CMD, hvor filen er placeret, og skrive PRINT filename.txt . Hvis du bruger en tilknyttet printer eller et specifikt enhedsnavn, skal du tilføje det med /D.

Forbered og vælg, hvad der skal udskrives, med fil-cmdlets

Før udskrivning er det en god idé at beslutte, hvilke filer der skal sættes i kø, flyttes til en midlertidig mappe eller filtreres efter kriterier. PowerShell udmærker sig her med sine filsystem-cmdlets.

Det er øjeblikkeligt at vise indhold med Get-ChildItem (aliasser: gci, dir, ls) og vise skjulte filer eller systemfiler med -Force. Tilføj -Recurse, hvis du vil dykke dybere ned i undermapper.

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

Hvis du leder efter mere sofistikeret filtrering, kan du kombinere gci med Where-Object for at basere din filtrering på egenskaber som dato og størrelse. Dette mønster er ideelt til at generere printbare lagerlister.

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

Filhåndtering før udskrivning

Det er nemt at kopiere eller versionere arbejdsfiler med Copy-Item, og du kan kontrollere tidligere eksistens med Test-Path. Brug -Force til at overskrive skrivebeskyttede destinationer.

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

For at forberede strukturer til udskriftsmappe skal du oprette tomme mapper og filer med New-Item. Skeln mellem -ItemType Directory og -ItemType File afhængigt af dine behov.

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

Hvis du har brug for at rydde mellemliggende mapper, sletter Remove-Item filer eller mapper. Når der er indhold, og du vil undgå bekræftelser, skal du tilføje -Recurse.

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

Du kan endda tilknytte en mappe som et midlertidigt logisk drev med New-PSDrive for at forkorte stier under processen. Med -Persist understøttes og integreres kun eksterne stier i Explorer.

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

Læs, skriv og kombiner tekster før udskrivning

Get-Content læser tekstfiler som et array (hver linje er et element). Dette gør det meget praktisk at forhåndsvise, filtrere eller transformere før udskrivning.

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

For at generere indhold på farten er Write-Output (også kendt som: write, echo) og redirection dine allierede. Omdiriger med > for at oprette/overskrive og med >> for at tilføje.

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

Hvis du vil klone indhold, kan du bruge Get-Content med omdirigering i stedet for Copy-Item. Det fungerer godt med mønstre og jokertegn, når du konsoliderer tekst.

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

Pas på en klassisk fejl: omdirigering af Get-Content *.txt til en fil, der også ender på .txt i samme mappe, kan skabe en endeløs løkke, fordi destinationsfilen bliver kildefilen. Du kan afbryde med Ctrl-C, men det er bedre at være på den sikre side end at fortryde.

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

Den rene løsning er at udelade destinationsfilen ved hjælp af parameteren -Exclude. Dette forhindrer, at dit eget output inkluderes i inputsættet.

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

Brug jokertegn til din fordel for at vælge præcis det, du har brug for (f.eks. ben*.txt). Et velafstemt valg reducerer overraskelser og fremskynder din arbejdsgang.

  Endelig løsning på fejlen CRITICAL_OBJECT_TERMINATION (0x000000F4) i Windows

Hurtig søgning og optælling før afsendelse til printeren

For at finde specifikke fragmenter på tværs af flere filer, er `Select-String` (alias: `sls`) ligesom at have `grep` integreret i PowerShell. Perfekt til at validere, at den tekst, der skal udskrives, indeholder det, du forventer.

Select-String "existencia única" *.txt

Og hvis du har brug for hurtige målinger, så send en pipe til Measure-Object (mål) for at tælle linjer, ord og tegn. Tilføj -IgnoreWhiteSpace, hvis du vil fratrække mellemrum.

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

Denne forhåndskontrol sparer papir og tid, især ved store oplag. Mål, tjek og udskriv derefter med Out-Printer eller PRINT, velvidende at det, der kommer ud af printeren, er præcis det, du har brug for.

Typiske arbejdsgange for udskrivning fra konsollen

Scenarie 1: Udskriv en TXT-fil genereret af en proces. Den læser, kontrollerer et par linjer og sender den til standardprinteren.

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

Scenarie 2: Send en etiket eller et header til en delt printer. Ideelt til checks eller netværksprintere.

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

Scenarie 3: Konsolider flere logfiler for dagen, og udskriv dem derefter. Undgå outputløkken med -Exclude, og filtrer efter datomønster, hvis det er nødvendigt.

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

Scenarie 4 (CMD): Udskriv hurtigt en TXT-fil fra et batchscript . Nyttigt, når PowerShell ikke er en del af arbejdsgangen (se Åbning af PRN-filer ).

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

Relaterede navigations- og produktivitetstips

For at flytte mellem mapper: Set-Location (sl, cd) og tabulatorfuldførelse sparer dig for skrivefejl. Du kan kombinere relative stier som ..\.. for at hoppe over grene.

Hvis du ofte skifter mellem to placeringer, er Push-Location (pushd) og Pop-Location (popd) meget praktiske: du gemmer den aktuelle placering på stakken og returnerer med en enkelt kommando.

Foretrækker du at se noget i Stifinder? Start `explorer` fra den aktuelle mappe. På denne måde kan du visuelt kontrollere, hvad du vil udskrive fra konsollen.

Det er meget hurtigt at omdøbe eller flytte filer med Move-Item (mv) og kopiere dem med Copy-Item (cp). Vær forsigtig, når du bruger rm (Remove-Item): det sletter filer permanent , ikke kun til papirkurven.

  Windows Update-fejl 0x80070490[Komplet vejledning til 2019]

Hvis du arbejder med lister (f.eks. computere eller IP-adresser) i en TXT-fil, returnerer Get-Content et array; du kan bruge dette som grundlag for at generere en rapport og sende den til Out-Printer. Pipelining omdanner disse flows til præcise og gentagelige trin.

Indbygget hjælp og nyttige parametre

Get-Help viser dig syntaksen og parametrene for enhver cmdlet. Hvis du tilføjer -Online, åbner det detaljeret hjælp i din browser . Dette er den hurtigste måde at afklare specifikke spørgsmål på.

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

I tilfælde af Get-Content lader -TotalCount dig kun læse de første X linjer og -Tail det sidste X. De er perfekte til at kontrollere et afsnit før udskrivning og undgå overraskelser på papiret.

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

Du har allerede set, at `-Exclude` er nøglen til at forhindre destinationsfilen i at blive kilden under konsolidering. Husk dette, når du arbejder med jokertegn og omdirigeringer.

Begrænsninger, advarsler og god praksis

Out-Printer har ingen formaterings-, margen- eller bakkekontroller; den accepterer printerens standardindstillinger . Hvis du har brug for mere kontrol, kan du søge efter producentspecifikke værktøjer eller generere en PDF i det ønskede format og derefter udskrive den (f.eks. udskriv som PDF i Windows 11 ).

Out-Printer sender ikke output til pipelinen, som det er designet til. Forsøg ikke at kæde dens output til Get-Member : der vil ikke være noget objekt at undersøge. Brug den som det sidste trin i pipelinen.

Hvis du skal udskrive store mængder tekst, skal du kontrollere størrelsen og antallet af linjer på forhånd med Measure-Object. En 5-sekunders kontrol kan spare mange sider og blæk.

Når du bruger PRINT i CMD, skal du huske på, at det fokuserer på tekstfiler. For ikke-tekstuelt indhold tilbyder PowerShell og Out-Printer mere fleksibel gengivelse takket være pipelines og forudgående konvertering af objekter til tekst.

Og hvis noget bliver ved med at "tænke" for længe (for eksempel en løkke på grund af en dårligt designet omdirigering), afbryd med Ctrl-C og gennemgå kommandoerne. Undgå at bruge det samme inputmønster som outputfilnavnet i den samme mappe.

Denne vejledning forbereder dig på at udskrive sikkert fra kommandolinjen: Du lærer Out-Printer og PRINT, hvordan du forbereder og filtrerer filer, måler indhold, søger efter strenge og undgår faldgruber som omdirigeringsløkker. Med disse værktøjer kan du opbygge robuste, gentagelige og hurtige arbejdsgange , der sender præcis det, du ønsker, til den printer, du ønsker, uden at være afhængig af den grafiske brugerflade.

powershell cmd print
Relateret artikel:
Sådan udskriver du nemt fra CMD eller PowerShell