PowerShell-kommandoer til at skrive til filer: En komplet guide

Sidste ændring: 30/07/2025
Forfatter: Isaac
  • PowerShell giver dig mulighed for nemt at oprette, ændre og administrere tekst- og binære filer ved hjælp af specifikke cmdlets.
  • kommandoer Som f.eks. Set-Content, Add-Content og Out-File tilbyder forskellige måder at skrive eller tilføje information til filer på, og tilpasser sig den enkelte brugers behov.
  • PowerShells integration med .NET-objekter og muligheden for at arbejde med finjusterede tilladelser udvider filhåndteringens alsidighed betydeligt.

Powershell-kommandoer til at skrive inde i filer

Være i stand til at skrive, ændre og manipulere filer fra PowerShell Det er en grundlæggende færdighed for både systemadministratorer og enhver bruger, der stræber efter at automatisere processer i Windows. PowerShell-konsollen er ikke bare et alternativ til den klassiske kommandoprompt; er et komplet scriptingmiljø hvilket åbner dørene for avanceret og effektiv filhåndtering, tilpasset både simple og mere komplekse opgaver.

Lær de vigtigste kommandoer og teknikker til at arbejde med filer fra PowerShell vil give dig mulighed for at gå langt ud over de grundlæggende funktioner, der tilbydes af den grafiske brugerflade. Nedenfor finder du en detaljeret og opdateret guide til de mest alsidige cmdlets og metoder til at skrive til tekst- og binære filer, samt praktiske eksempler og buenos Tricks for at optimere din hverdag med PowerShell.

Indstillinger for at skrive til filer med PowerShell

PowerShell har adskillige cmdlets og metoder til generere filer, redigere deres indhold og manipulere dem efter dine behov. De mest anvendte og nyttige til disse opgaver er:

  • sæt-indhold: Skriver eller erstatter indholdet af en fil.
  • Tilføj-indholdTilføjer yderligere indhold til slutningen af en fil uden at fjerne det, den allerede indeholder.
  • Ud-arkivOmdirigerer outputtet fra en hvilken som helst kommando til en fil.
  • StreamWriter og andre .NET-metoder – til situationer, der kræver mere kontrol.

Hver af disse cmdlets har interessante parametre og nuancer til forskellige scenarier, som vi vil udforske i detaljer i løbet af denne artikel.

skriv powershell-filer med cmdlet

Set-Content: Skriv eller overskriv filer

cmdlet'en sæt-indhold Det er nok mest direkte, når målet er opret en fil eller overskriv dens nuværende indholdDens grundlæggende brug er ret intuitiv:

Set-Content -Path "C:\ruta\archivo.txt" -Value "Texto que quiero introducir"

Hvis filen allerede findes, vil denne kommando erstatte den fuldstændigt med den nye tekst. Hvis filen ikke findes, oprettes den automatisk på den angivne placering.

  Dette er nogle enkle trin til at slippe af med eller fjerne besværgelser og besværgelser i Minecraft

Det er også nemt at arbejde med flere linjer. For eksempel, for at gemme et array med flere strenge i en ny fil, skal du blot:

$contenido = @("Primera línea", "Segunda línea", "Tercera línea")
Set-Content -Path "C:\ruta\archivo.txt" -Value $contenido

Hvert element i arrayet skrives på en separat linje., hvilket letter oprettelsen af strukturerede filer.

Tilføj indhold: Tilføj oplysninger til slutningen af en fil

Når du har brug for det tilføje data til en eksisterende fil uden at slette den gamle, cmdlet'en Tilføj-indhold er den perfekte mulighed. Dens syntaks minder meget om Set-Content:

Add-Content -Path "C:\ruta\archivo.txt" -Value "Nueva línea al final"

Denne kommando indsætter teksten i slutningen af filen og bevarer alt det oprindelige indhold. Den er især nyttig til behandling af logfiler, logs eller indsamle information trinvis.

Hvis du vil tilføje flere linjer, kan du gøre det ved at sende et array, som vist tidligere.

Ud-fil: Omdirigeringskommando Output

Powershell omdirigering output udfil

Out-File cmdlet'en skiller os ud, når vi vil gemme direkte outputtet fra enhver kommando eller script i en filDet er meget nyttigt, hvis du f.eks. vil gemme en liste, en rapport eller resultatet af en kompleks proces:

Get-Process | Out-File -FilePath "C:\ruta\procesos.txt"

I dette tilfælde Det, der normalt ses på skærmen, gemmes i filen, med respekt for formatet og linjerne, som de vises i konsollen.

Som standard overskriver Out-File destinationsfilen., men du kan bruge parameteren -Tilføj Sådan tilføjer du oplysninger uden at slette de tidligere oplysninger:

Get-Date | Out-File -FilePath "C:\ruta\log.txt" -Append

Derudover kan du angive filkodningen ved hjælp af parameteren -Indkodning eller tvungen oprettelse med -Kraft.

Sammenligning mellem Set-Content, Add-Content og Out-File

Det er almindeligt at forveksle disse tre cmdlets, men hver især er designet til specifikke situationer:

  • sæt-indhold: nyttig til at definere eller fuldstændigt erstatte indholdet af en fil.
  • Tilføj-indholdPerfekt når du bare vil tilføje tekst uden at ændre det, der allerede findes.
  • Ud-arkivIdeel til omdirigering af resultater fra komplekse scripts eller kommandoer.

Et vigtigt trick er at kombinere Udstreng med disse cmdlets, hvis du har brug for at konvertere objektoutput til tekst, før du skriver det, især med Set-Content:

Get-Process | Out-String | Set-Content -Path "C:\ruta\procesos.txt"

Praktiske eksempler på skrivning og omdirigering i filer

Lad os se på nogle almindelige eksempler og praktiske situationer, som du hurtigt kan løse:

  • Opret en ny tekstfil:
    New-Item -Path "C:\ejemplo\nuevo.txt" -ItemType File
  • Tøm indholdet af en fil, men behold den:
    Clear-Content -Path "C:\ejemplo\log.txt"
  • Tilføj testtekst:
    "Este es un ejemplo" | Add-Content -Path "C:\ejemplo\nuevo.txt"
  • Erstat et ord i hele filen:
    (Get-Content .\archivo.txt).replace('buscar', 'reemplazo') | Set-Content .\archivo.txt

Husk at bruge jokertegn (*) til at arbejde med flere filer på én gang.for eksempel:

Get-Content C:\ejemplo\*.txt | Out-File -FilePath C:\ejemplo\resumen.txt

Avanceret håndtering: Skrivning af filer med StreamWriter og .NET

Manipuler filer med PowerShell StreamWriter

Til opgaver, der kræver mere kontrol, såsom at skrive binære data, håndtere usædvanlige kodninger eller behandle store mængder, kan du bruge klassen System.IO.StreamWriter fra .NET:

$sw = [System.IO.StreamWriter]::new('C:\ruta\archivo.txt')
$sw.WriteLine('Texto específico o datos binarios')
$sw.Close()

Denne metode giver dig yderligere fleksibilitet, hvilket er særligt nyttigt i avancerede scripts eller når du har brug for at tilpasse outputstrømmen.

  Sådan aktiveres monolyd i Windows 11 trin for trin

Arbejde med tilladelser og beskyttede filer

Nogle gange kan det være nødvendigt oprette filer med specifikke tilladelser eller ændre en fils ACL. PowerShell og .NET gør dette nemt ved at kombinere cmdlets og objekter. For eksempel, for at tildele fuld kontrol til en domænebruger:

$archivo = New-Item -Path "C:\ruta\archivo.txt" -ItemType "File"
$acl = Get-Acl $archivo.FullName
$permiso = "dominio\usuario","FullControl","Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permiso
$acl.SetAccessRule($accessRule)
Set-Acl $archivo.FullName $acl

På denne måde kan du sikre, at din fil ikke blot oprettes og skrives korrekt, men også er beskyttet og har de korrekte tilladelser.

Yderligere administration: Læs, rediger og slet filer

Filhåndtering i PowerShell er ikke kun begrænset til indtastning. Du kan:

  • Læs indhold med Get-Content: Get-Content -Path "C:\ruta\archivo.txt"
  • Sletning af filer med Remove-Item: Remove-Item -Path "C:\ruta\archivo.txt"
  • Kopier eller flyt filer med Copy-Item og Move-Item da du har brug for at omorganisere mapper.
  • Filtrer resultater ved hjælp af jokertegn, selektorer og parametre kun at arbejde på de ønskede filer.

Automatisering og manipulation af store datamængder

En af de største fordele ved PowerShell er, at letter automatiseringen af processer med scripts. Har du brug for at flette indholdet af flere filer sammen til en ny? Bruger:

Get-Content C:\carpeta\*.txt -Exclude resumen.txt | Set-Content C:\carpeta\resumen.txt

Eller for at tilføje resultatet af en specifik søgning til flere filer:

Select-String "palabra clave" C:\carpeta\*.txt | Out-File -FilePath C:\carpeta\resultados.txt

Og hvis du støder på blokeringer med uendelige løkker eller processer, der aldrig slutter, skal du huske, at du kan afbryde udførelsen ved at trykke på Kontrol + C på konsollen.

Andre nyttige værktøjer og genveje i PowerShell

Efterhånden som du bliver fortrolig med dine omgivelser, vil du opdage praktiske genveje, såsom:

  • Automatisk fuldførelse med Tab-tasten for filstier eller kommandoer.
  • Hent tidligere brugte kommandoer med op/ned-pilene.
  • Arbejd hurtigt med flere mapper ved hjælp af Push-Location (pushd) og Pop-Location (popd).
  • Pipe-output mellem forskellige cmdlets ved hjælp af symbolet | (rør), for eksempel:
    Get-Content archivo.txt | Measure-Object -Word -Line -Character

Oversigt over cmdlets og ækvivalenser

PowerShell fokuserer på konsistens i navngivningskonventionerne for "Verbum-Nominal" på tværs af cmdlets, hvilket gør dem nemmere at lære. Her er de vigtigste kommandoer, du bør huske:

  Reparation for ude af stand til at tilslutte proxyserverfejl i hjemmet windows 10
Cmdlet Alias Primær brug
Set-Content sc Skriv/erstat indhold
Add-Content ac Tilføj indhold til sidst
Out-File Omdirigeringskommandoens output
Get-Content gc Læs indhold
Remove-Item rm Slet filer/mapper
New-Item ni Opret filer og mapper
Clear-Content Tomme filer

Mange af disse cmdlets har kortere aliasser eller endda Bash-ækvivalenter, hvilket gør overgangen nemmere, hvis du har tidligere erfaring med andre systemer.

Avanceret skrivning: Eksport af data og strukturerede filer

Ikke alt er almindelig tekst. Hvis du har brug for det eksportér strukturerede data, såsom tabeller eller objekterPowerShell giver dig cmdlets som f.eks. Eksport-Csv:

$datos = @( @{Nombre='Juan';Edad=30}, @{Nombre='Ana';Edad=25} )
$datos | Export-Csv -Path "C:\datos.csv" -NoTypeInformation

På denne måde kan du generere CSV-filer, der er kompatible med Excel og andre værktøjer, hvilket udvider de praktiske anvendelser af PowerShell inden for systemadministration og dataanalyse betydeligt.

Mestre PowerShell-kommandoer til at skrive inde i filer Det giver dig mulighed for at udvide mulighederne for at administrere og automatisere opgaver på Windows-systemer. Fra simple tekstfiler til komplekse rapporter eller logfiler, alt er inden for rækkevidde af konsollen og et par cmdletsLidt efter lidt vil arbejdet med PowerShell blive en naturlig del af din rutine, hvilket sparer dig tid og giver dig mulighed for at udføre opgaver med præcision og kraft.

Efterlad en kommentar