
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.
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.
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.
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) }
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.
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.
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.
Passioneret forfatter om bytes-verdenen og teknologien generelt. Jeg elsker at dele min viden gennem skrivning, og det er det, jeg vil gøre i denne blog, vise dig alle de mest interessante ting om gadgets, software, hardware, teknologiske trends og mere. Mit mål er at hjælpe dig med at navigere i den digitale verden på en enkel og underholdende måde.


