Hvis du jobber i Windows og er komfortabel med å bruke kommandolinjen, vil du før eller siden ønske å sende dokumenter til skriveren uten å åpne noen grafiske applikasjoner. Utskrift fra CMD eller PowerShell er raskt, skriptbart og perfekt for å automatisere hverdagsoppgaver, fra å sende en TXT-fil til å skrive ut resultatet av en kommando direkte til papir.
I denne veiledningen vil jeg forklare, med en praktisk tilnærming, de to hovedmetodene: PowerShell-cmdlet-en Out-Printer og kommandoen PRINT i kommandolinjen . Du vil også se hvordan du klargjør filer, filtrerer innhold, unngår vanlige feil og kjeder kommandoer for å kontrollere nøyaktig hva du skriver ut. Alt dette er dekket med syntaks, eksempler og viktige nyanser du bør kjenne til.
Alternativer for utskrift i Windows fra konsollen
I Windows har du to komplementære tilnærminger. På den ene siden tilbyr PowerShell cmdleten Out-Printer for å sende utdataene fra en kommando eller et objekt til skriveren (enten standard eller en spesifikk). Den er enkel, fungerer via en pipeline og arver skriverens standardinnstillinger uten å eksponere formateringskontroller i selve cmdleten.
På den annen side beholder kommandoprompten (CMD) den klassiske PRINT-kommandoen for tekst, med muligheten til å velge enhet. Det er et veteranverktøy fokusert på tekstfiler , nyttig når du ikke trenger PowerShells fulle kraft eller når du jobber med batch-skript.
Et viktig poeng: Out-Printer finnes bare i Windows (ikke i macOS eller Linux ). Hvis du bruker PowerShell på andre plattformer, er ikke denne cmdleten tilgjengelig , så du må se etter alternativer som er spesifikke for det miljøet, for eksempel utskrift fra terminalen i Linux.
I begge tilfeller, hvis du ikke spesifiserer en skriver, vil systemets standardinnstilling bli brukt. Når du trenger å peke på en nettverksskriver, kan du spesifisere UNC-navnet med Out-Printer og, i CMD, det tilsvarende enhetsnavnet med PRINT.
Out-Printer i detalj: syntaks, parametere og oppførsel
Dette er cmdlet-skjelettet til referanse. Merk deg de valgfrie parameterne Name og InputObject , og at det støtter standard PowerShell CommonParameters.
Out-Printer <String>]
Kort beskrivelse av virkemåten: Out-Printer sender utdata til standardskriveren eller til en annen skriver hvis du angir en. Den tilbyr ikke formateringsalternativer eller kontroller for utskriftsjobber ; standardinnstillingene til den valgte skriveren brukes.
- Plattform: Windows.
- FormatCmdleter med Out-verbet formaterer ikke; de gjengis og sendes ut til et presentasjonsmål.
- Kanalisert utgang: sender ingen objekter. Hvis du sender utdataene til Get-Member, vil du se at det ikke er noe å undersøke.
Hovedparametere: de er få og enkle, noe som fremskynder bruken av dem i skript og i den interaktive konsollen.
- -Navn (alias: PrinterName). Type: String, Posisjon: 0, Valgfritt. Angir målskriveren.
- -InputObjectType: PSObject. Godtar pipede verdier, valgfritt. Dette er objektet som sendes til skriveren.
- Fellesparametere: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, -WarningVariable.
Inndata og utdata: Du kan sende et hvilket som helst PSObject som input , og cmdleten returnerer ingenting (OutputType: None). Dette gjør den ideell som endepunkt for en pipeline.
Operasjonelle merknader: Når Out-Printer mottar et "raw"-objekt, vil PowerShell automatisk sette inn en formaterings-cmdlet før den gjengis. Dette sikrer at det som når skriveren har en tekstrepresentasjon , selv om du ikke spesifiserer formatet manuelt.
Praktiske eksempler med Out-Printer
Det er veldig enkelt å skrive ut en fil til standardskriveren selv om Out-Printer ikke har -Path: bare les filen og send den inn i.
Get-Content -Path ./readme.txt | Out-Printer
I dette mønsteret trekker Get-Content ut innholdet, og Out-Printer sender det til standardskriveren. Bruk det for TXT-filer, logger eller utdata som allerede er ren tekst.
Ved å skrive ut en streng til en ekstern skriver (UNC) kan du raskt teste tilkoblingen og utskriftskøen. Det er ideelt for å bekrefte at skriverens delte navn er riktig.
"Hello, World" | Out-Printer -Name "\\Server01\Prt-6B Color"
Hvis du vil skrive ut hele hjelpen for en cmdlet, kan du dumpe innholdet i Get-Help og sende det som et objekt. Nøkkelen er å bruke -InputObject med den tidligere hentede verdien.
$H = Get-Help -Full Get-CimInstance
Out-Printer -InputObject $H
Husk at Out-Printer ikke kontrollerer utskriftsalternativer (sider, skuff, tosidig osv.). Skriverens standardinnstillinger vil alltid bli brukt , så eventuell finjustering må gjøres på selve enheten eller med spesifikke verktøy andre enn cmdlet-en.
Skriv ut fra ledeteksten med PRINT
PRINT-kommandoen er innebygd i Windows 10/11 og moderne versjoner av Windows Server. Formålet er enkelt: å skrive ut tekstfiler fra CMD.
PRINT archivo ]
/D-alternativet angir utskriftsenheten. Hvis du ikke angir en, vil standardskriveren brukes . Det er et perfekt verktøy hvis arbeidsflyten din fortsatt er batchbasert og du jobber med rene TXT-filer.
Et grunnleggende eksempel på å sende en .txt-fil til standardenheten ville være så enkelt som: åpne CMD der filen ligger og skriv PRINT filnavn.txt . Hvis du bruker en tilordnet skriver eller et bestemt enhetsnavn, legg det til med /D.
Forbered og velg hva som skal skrives ut med fil-cmdleter
Før utskrift er det lurt å bestemme hvilke filer som skal legges i køen, flytte dem til en midlertidig mappe eller filtrere etter kriterier. PowerShell utmerker seg her med sine filsystem-cmdleter.
Det er umiddelbart mulig å liste opp innhold med Get-ChildItem (aliaser: gci, dir, ls) og vise skjulte filer eller systemfiler med -Force. Legg til -Recurse hvis du vil gå dypere inn i undermapper.
Get-ChildItem -Path C:\ -Force
Get-ChildItem -Path C:\ -Force -Recurse
Hvis du ønsker mer sofistikert filtrering, kan du kombinere gci med Where-Object for å basere filtreringen på egenskaper som dato og størrelse. Dette mønsteret er ideelt for å generere utskrivbare lagerlister.
Get-ChildItem -Path $env:ProgramFiles -Recurse -Include *.exe |
Where-Object { ($_.LastWriteTime -gt '2005-10-01') -and ($_.Length -ge 1mb) -and ($_.Length -le 10mb) }
Det er enkelt å kopiere eller versjonere arbeidsfiler med Copy-Item, og du kan sjekke om de har eksistert tidligere med Test-Path. Bruk -Force for å overskrive skrivebeskyttede destinasjoner.
if (Test-Path -Path $PROFILE) {
Copy-Item -Path $PROFILE -Destination $($PROFILE -replace 'ps1$', 'bak') -Force
}
For å klargjøre mappestrukturer for utskrift, opprett tomme mapper og filer med New-Item. Skill mellom -ItemType Directory og -ItemType File avhengig av dine behov.
New-Item -Path 'C:\temp\Nueva Carpeta' -ItemType Directory
New-Item -Path 'C:\temp\Nueva Carpeta\listado.txt' -ItemType File
Hvis du trenger å rydde opp i mellomliggende mapper, sletter Remove-Item filer eller kataloger. Når det er innhold og du vil unngå bekreftelser, legger du til -Recurse.
Remove-Item -Path C:\temp\ColaTemporal -Recurse
Du kan til og med tilordne en mappe som en midlertidig logisk stasjon med New-PSDrive for å forkorte stier underveis. Med -Persist støttes og integreres bare eksterne stier i Utforsker.
New-PSDrive -Name P -Root $env:ProgramFiles -PSProvider FileSystem
Les, skriv og kombiner tekster før utskrift
Get-Content leser tekstfiler som en matrise (hver linje er et element). Dette gjør det veldig praktisk å forhåndsvise, filtrere eller transformere filer før utskrift.
$lineas = Get-Content -Path .\listado.txt
$lineas.Length
For å generere innhold på sparket, er Write-Output (også kjent som: write, echo) og omdirigering dine allierte. Omdiriger med > for å opprette/overskrive og med >> for å legge til.
Write-Output "Encabezado del informe" > informe.txt
Write-Output "Nueva línea" >> informe.txt
Hvis du vil klone innhold, kan du bruke Get-Content med omdirigering i stedet for Copy-Item. Det fungerer bra med mønstre og jokertegn når du konsoliderer tekst.
Get-Content benjamin.txt > benjamin2.txt
Get-Content *.log > combinado.log
Vær obs på en klassisk feil: å omdirigere Get-Content *.txt til en fil som også slutter på .txt i samme katalog kan skape en endeløs løkke fordi målfilen blir kildefilen. Du kan avbryte med Ctrl-C, men det er bedre å være føre var.
Get-Content *.txt > gran.txt # Riesgo: gran.txt coincide con *.txt
Den enkle løsningen er å ekskludere målfilen ved å bruke parameteren -Exclude. Dette forhindrer at din egen utdata inkluderes i inputsettet.
Get-Content *.txt -Exclude gran.txt > gran.txt
Bruk jokertegn til din fordel for å velge akkurat det du trenger (for eksempel ben*.txt). Et godt avstemt valg reduserer overraskelser og fremskynder arbeidsflyten.
Hurtigsøk og telling før sending til skriveren
For å finne spesifikke fragmenter på tvers av flere filer, er `Select-String` (alias: `sls`) som å ha `grep` integrert i PowerShell. Perfekt for å validere at teksten som skal skrives ut inneholder det du forventer.
Select-String "existencia única" *.txt
Og hvis du trenger raske målinger, send en pipe til Measure-Object (mål) for å telle linjer, ord og tegn. Legg til -IgnoreWhiteSpace hvis du vil trekke fra mellomrom.
Get-Content benjamin.txt | Measure-Object -Line -Word -Character
Get-Content *.txt | Measure-Object -Line -Word -Character -IgnoreWhiteSpace
Denne forhåndssjekken sparer papir og tid, spesielt for store utskrifter. Mål, sjekk og skriv deretter ut med Out-Printer eller PRINT, vel vitende om at det som kommer ut av skriveren er akkurat det du trenger.
Typiske arbeidsflyter for utskrift fra konsollen
Scenario 1: Skriv ut en TXT-fil generert av en prosess. Den leser, kontrollerer et par linjer og sender til standardskriveren.
Get-Content .\resultado.txt -TotalCount 10
Get-Content .\resultado.txt | Out-Printer
Scenario 2: Send en etikett eller et overskriftsdokument til en delt skriver. Ideelt for sjekker eller nettverksskrivere.
"Etiqueta: Pedido 12345" | Out-Printer -Name "\\SrvPrint\HP-Laser"
Scenario 3: Konsolider flere logger for dagen og skriv dem deretter ut. Unngå utdataløkken med -Exclude og filtrer etter datomønster om nødvendig.
Get-Content .\logs\*.2025-09-*.log -Exclude resumen.log > resumen.log
Get-Content resumen.log | Out-Printer
Scenario 4 (CMD): Skriv raskt ut en TXT-fil fra et batchskript . Nyttig når PowerShell ikke er en del av arbeidsflyten (se Åpne PRN-filer ).
PRINT /D:PRN01 C:\reportes\hoy.txt
Relaterte tips for navigasjon og produktivitet
For å flytte mellom mapper: Set-Location (sl, cd) og tabulatorutfylling sparer deg for skrivefeil. Du kan kombinere relative stier som ..\.. for å hoppe over grener.
Hvis du ofte bytter mellom to plasseringer, er Push-Location (pushd) og Pop-Location (popd) veldig praktiske: du lagrer gjeldende plassering på stakken og returnerer med én enkelt kommando.
Foretrekker du å se noe i Utforsker? Start `explorer` fra gjeldende mappe. På denne måten kan du visuelt bekrefte hva du skal skrive ut fra konsollen.
Det går veldig raskt å gi filer nytt navn eller flytte dem med Move-Item (mv) og kopiere dem med Copy-Item (cp). Vær forsiktig når du bruker rm (Remove-Item): det sletter filer permanent , ikke bare til papirkurven.
Hvis du jobber med lister (for eksempel datamaskiner eller IP-adresser) i en TXT-fil, returnerer Get-Content en matrise. Du kan bruke denne som grunnlag for å generere en rapport og sende den til Out-Printer. Pipelining gjør disse flytene om til konsise og repeterbare trinn.
Innebygd hjelp og nyttige parametere
Get-Help viser deg syntaksen og parameterne til enhver cmdlet. Hvis du legger til -Online, åpnes detaljert hjelp i nettleseren din . Dette er den raskeste måten å avklare spesifikke spørsmål på.
Get-Help Out-Printer
Get-Help Get-Content -Online
Når det gjelder Get-Content, lar -TotalCount deg lese bare de første X linjene og -Tail den siste X. De er perfekte for å sjekke en seksjon før utskrift og unngå overraskelser på papiret.
Get-Content .\informe.txt -TotalCount 10
Get-Content .\informe.txt -Tail 10
Du har allerede sett at `-Exclude` er nøkkelen til å forhindre at målfilen blir kildefilen under konsolidering. Husk dette når du arbeider med jokertegn og omdirigeringer.
Begrensninger, advarsler og god praksis
Out-Printer har ingen formaterings-, marg- eller skuffkontroller; den godtar skriverens standardinnstillinger . Hvis du trenger mer kontroll, kan du se etter produsentspesifikke verktøy eller generere en PDF i ønsket format og deretter skrive den ut (for eksempel skrive ut som PDF i Windows 11 ).
Out-Printer sender ikke utdata til pipelinen, som planlagt. Ikke forsøk å kjede utdataene til Get-Member : det vil ikke være noe objekt å undersøke. Bruk den som det siste trinnet i pipelinen.
Hvis du skal skrive ut store tekstmengder, bør du sjekke størrelsen og antall linjer på forhånd med Measure-Object. En 5-sekunders sjekk kan spare mye sider og blekk.
Når du bruker PRINT i CMD, husk at det fokuserer på tekstfiler. For ikke-tekstlig innhold tilbyr PowerShell og Out-Printer mer fleksibel gjengivelse takket være pipelines og forhåndskonvertering av objekter til tekst.
Og hvis noe fortsetter å "tenke" for lenge (for eksempel en løkke på grunn av en dårlig utformet omdirigering), avbryt med Ctrl-C og gjennomgå kommandoene. Unngå å bruke samme inputmønster som utdatafilnavnet i samme katalog.
Denne veiledningen forbereder deg på å skrive ut trygt fra kommandolinjen: du lærer Out-Printer og PRINT, hvordan du klargjør og filtrerer filer, måler innhold, søker etter strenger og unngår fallgruver som omdirigeringsløkker. Med disse verktøyene kan du bygge robuste, repeterbare og raske arbeidsflyter som sender akkurat det du ønsker, til skriveren du ønsker, uten å være avhengig av det grafiske grensesnittet.
Lidenskapelig forfatter om verden av bytes og teknologi generelt. Jeg elsker å dele kunnskapen min gjennom å skrive, og det er det jeg skal gjøre i denne bloggen, vise deg alle de mest interessante tingene om dingser, programvare, maskinvare, teknologiske trender og mer. Målet mitt er å hjelpe deg med å navigere i den digitale verden på en enkel og underholdende måte.


