PowerShell-komennot tiedostoihin kirjoittamiseen: Täydellinen opas

Viimeisin päivitys: 30/07/2025
Kirjoittaja: Isaac
  • PowerShell voit helposti luoda, muokata ja hallita teksti- ja binaaritiedostoja tiettyjen cmdlettien avulla.
  • komennot kuten Set-Content, Add-Content ja Out-File, tarjoavat erilaisia tapoja kirjoittaa tai lisätä tietoja tiedostoihin, mukautuen kunkin käyttäjän tarpeisiin.
  • PowerShellin integrointi .NET-objektien kanssa ja kyky työskennellä tarkkarajaisten käyttöoikeuksien kanssa laajentavat merkittävästi tiedostojenhallinnan monipuolisuutta.

Powershell-komennot tiedostojen sisälle kirjoittamiseen

Pystyä kirjoittamaan, muokkaamaan ja käsittelemään tiedostoja PowerShellistä Se on perustaito sekä järjestelmänvalvojille että kaikille käyttäjille, jotka haluavat automatisoida prosesseja Windows. PowerShell-konsoli ei ole vain vaihtoehto klassiselle komentokehote; on täydellinen skriptausympäristö joka avaa ovet edistyneelle ja tehokkaalle tiedostojen hallinnalle, joka on mukautettu sekä yksinkertaisiin että monimutkaisempiin tehtäviin.

Opi tärkeimmät komennot ja tekniikat tiedostojen käsittelyyn PowerShellistä antaa sinulle mahdollisuuden ylittää graafisen käyttöliittymän tarjoamat perustoiminnot. Alta löydät yksityiskohtaisen ja ajantasaisen oppaan monipuolisimmista cmdletteistä ja menetelmistä teksti- ja binaaritiedostoihin kirjoittamiseen sekä käytännön esimerkkejä ja Buenos Tallenna Peli optimoidaksesi arkeasi PowerShellin avulla.

Tiedostoihin kirjoittamisen asetukset PowerShellin avulla

PowerShellissä on useita cmdlettejä ja metodeja luoda tiedostoja, muokata niiden sisältöä ja käsitellä niitä tarpeidesi mukaan. Näihin tehtäviin käytetyimmät ja hyödyllisimmät ovat:

  • Sarja-sisältö: Kirjoittaa tai korvaa tiedoston sisällön.
  • Lisää-sisältö: Lisää tiedoston loppuun uutta sisältöä poistamatta tiedoston jo olemassa olevaa sisältöä.
  • Out-tiedosto: Ohjaa minkä tahansa komennon tulosteen tiedostoon.
  • StreamWriter ja muita .NET-menetelmiä – tilanteisiin, jotka vaativat enemmän hallintaa.

Jokaisella näistä cmdleteistä on mielenkiintoisia parametreja ja vivahteita eri skenaarioita varten, joita tutkimme yksityiskohtaisesti tässä artikkelissa.

kirjoita PowerShell-tiedostoja cmdlet-komennolla

Set-Content: Kirjoita tai korvaa tiedostot

cmdlet Sarja-sisältö Se on luultavasti suorinta, kun maali on luo tiedosto tai korvaa sen nykyinen sisältöSen peruskäyttö on varsin intuitiivista:

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

Jos tiedosto on jo olemassa, tämä komento korvaa sen kokonaan uudella tekstillä. Jos tiedostoa ei ole, se luo sen automaattisesti määritettyyn sijaintiin.

  Kuinka muuttaa latauskansiota Microsoft Edgessä askel askeleelta ja hyödyntää kaikkia sen vaihtoehtoja

Useiden rivien kanssa on myös helppo työskennellä. Esimerkiksi useiden merkkijonojen sisältävän taulukon tallentamiseksi uuteen tiedostoon, yksinkertaisesti:

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

Jokainen taulukon alkio kirjoitetaan omalle rivilleen., mikä helpottaa strukturoitujen tiedostojen luomista.

Add-Content: Lisää tietoja tiedoston loppuun

Kun tarvitset lisätä tietoja olemassa olevaan tiedostoon poistamatta vanhaa, cmdlet-komento Lisää-sisältö on täydellinen vaihtoehto. Sen syntaksi on hyvin samankaltainen kuin Set-Content-funktiolla:

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

Tämä komento lisää tekstin tiedoston loppuun säilyttäen kaiken alkuperäisen sisällön. Se on erityisen hyödyllinen lokien käsittelyssä, lokit tai kerätä tietoa vähitellen.

Jos haluat lisätä useita rivejä, voit tehdä sen välittämällä taulukon, kuten aiemmin on esitetty.

Out-File: Uudelleenohjaa komennon tuloste

PowerShell-uudelleenohjauksen tulostetiedosto

Out-File-cmdlet erottuu joukosta silloin kun haluamme tallentaa suoraan minkä tahansa komennon tulosteen tai käsikirjoitus tiedostoonSe on erittäin hyödyllinen esimerkiksi silloin, jos haluat tallentaa luettelon, raportin tai monimutkaisen prosessin tuloksen:

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

Tässä tapauksessa Näytöllä yleensä näkyvä tallennetaan tiedostoon., kunnioittaen konsolissa näkyvää muotoa ja rivejä.

Oletusarvoisesti Out-File korvaa kohdetiedoston., mutta voit käyttää parametria -Lisää Tietojen lisääminen poistamatta aiempia tietoja:

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

Lisäksi voit määrittää tiedoston koodauksen parametrilla - Koodaus tai pakota luominen -Pakottaa.

Set-Content-, Add-Content- ja Out-File-tyyppien vertailu

On yleistä sekoittaa nämä kolme cmdlet-komentoa, mutta jokainen on suunniteltu tiettyihin tilanteisiin:

  • Sarja-sisältö: hyödyllinen tiedoston sisällön määrittelyyn tai täydelliseen korvaamiseen.
  • Lisää-sisältö: täydellinen, kun haluat vain lisätä tekstiä muuttamatta jo olemassa olevaa.
  • Out-tiedostoIhanteellinen monimutkaisten komentosarjojen tai komentojen tulosten uudelleenohjaamiseen.

Tärkeä temppu on yhdistää Out-String näillä cmdleteillä, jos sinun on muunnettava objektin tuloste tekstiksi ennen sen kirjoittamista, erityisesti Set-Content-komennolla:

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

Käytännön esimerkkejä tiedostojen kirjoittamisesta ja uudelleenohjauksesta

Katsotaanpa joitakin yleisiä esimerkkejä ja käytännön tilanteita, jotka voit ratkaista nopeasti:

  • Luo uusi tekstitiedosto:
    New-Item -Path "C:\ejemplo\nuevo.txt" -ItemType File
  • Tyhjennä tiedoston sisältö, mutta säilytä se:
    Clear-Content -Path "C:\ejemplo\log.txt"
  • Lisää testiteksti:
    "Este es un ejemplo" | Add-Content -Path "C:\ejemplo\nuevo.txt"
  • Korvaa sana koko tiedostossa:
    (Get-Content .\archivo.txt).replace('buscar', 'reemplazo') | Set-Content .\archivo.txt

Muista käyttää jokerimerkkejä (*) työskennelläksesi useiden tiedostojen kanssa samanaikaisesti., esimerkiksi:

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

Edistynyt käsittely: Tiedostojen kirjoittaminen StreamWriterillä ja .NETillä

Tiedostojen käsittely PowerShell StreamWriterin avulla

Tehtäviin, jotka vaativat enemmän hallintaa, kuten binääridatan kirjoittamiseen, epätavallisten koodausten käsittelyyn tai suurten tietomäärien käsittelyyn, voit käyttää luokkaa System.IO.StreamWriter .NETistä:

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

Tämä menetelmä antaa sinulle lisää joustavuutta, mikä on erityisen hyödyllistä edistyneissä skripteissä tai kun sinun on mukautettava tulostusvirtaa.

  shutdown /r /o -komennon käyttö Windowsissa ja hyödyllisiä vaihtoehtoja (Linuxissa)

Käyttöoikeuksien ja suojattujen tiedostojen käsittely

Joskus se voi olla tarpeen luoda tiedostoja tietyillä käyttöoikeuksilla tai muokata tiedoston käyttöoikeusluetteloa. PowerShell ja .NET helpottavat tätä yhdistämällä cmdlettejä ja objekteja. Esimerkiksi täydet oikeudet verkkotunnuskäyttäjälle voidaan antaa seuraavasti:

$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

Tällä tavoin voit varmistaa, että tiedostosi ei ole ainoastaan luotu ja kirjoitettu oikein, vaan myös on suojattu ja sillä on oikeat käyttöoikeudet.

Lisähallinta: Tiedostojen lukeminen, muokkaaminen ja poistaminen

Tiedostonhallinta PowerShellissä ei rajoitu vain kirjoittamiseen. Voit:

  • Lue sisältöä Get-Content-funktiolla: Get-Content -Path "C:\ruta\archivo.txt"
  • Tiedostojen poistaminen Remove-Item-komennolla: Remove-Item -Path "C:\ruta\archivo.txt"
  • Tiedostojen kopiointi tai siirtäminen Copy-Item- ja Move-Item-komennoilla koska sinun täytyy järjestellä hakemistoja uudelleen.
  • Suodata tuloksia käyttämällä jokerimerkkejä, valitsimia ja parametreja työskennellä vain haluttujen tiedostojen parissa.

Suurten tietomäärien automatisointi ja käsittely

Yksi PowerShellin suurimmista eduista on se, että helpottaa prosessien automatisointia skriptien avulla. Pitääkö useiden tiedostojen sisältö yhdistää uuteen? Käyttökohteet:

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

Tai lisätäksesi tietyn haun tuloksen useisiin tiedostoihin:

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

Ja jos kohtaat jumiutumisia, joissa on loputtomia silmukoita tai prosesseja, jotka eivät koskaan lopu, muista, että voit keskeyttää suorituksen painamalla Control + C konsolissa.

Muita hyödyllisiä työkaluja ja pikanäppäimiä PowerShellissä

Kun tutustut ympäristöösi, huomaat käteviä oikoteitä, kuten:

  • Automaattinen täydennys Tab-näppäimellä tiedostopolkuja tai komentoja varten.
  • Hae aiemmin käytettyjä komentoja ylös/alas-nuolilla.
  • Työskentele useiden hakemistojen kanssa nopeasti käyttäen Push-Location (pushd)- ja Pop-Location (popd) -metodeja.
  • Putkittaa tulosteen eri cmdlet-komentojen välillä käyttämällä symbolia | (putki), esimerkiksi:
    Get-Content archivo.txt | Measure-Object -Word -Line -Character

Yhteenveto cmdleteistä ja ekvivalensseista

PowerShell keskittyy cmdletissään "Verb-Noun"-nimeämiskäytäntöjen yhdenmukaisuuteen, mikä helpottaa niiden oppimista. Tässä ovat tärkeimmät komennot, jotka sinun tulisi muistaa:

  NAS-palvelimen käyttö Windows 11:ssä: käyttöohjeet ja ratkaisut
Cmdlet alias Ensisijainen käyttö
Set-Content sc Kirjoita/korvaa sisältöä
Add-Content ac Lisää sisältöä loppuun
Out-File - Uudelleenohjaa komennon tuloste
Get-Content gc Lue sisältöä
Remove-Item rm Tiedostojen/hakemistojen poistaminen
New-Item ni Tiedostojen ja kansioiden luominen
Clear-Content - Tyhjät tiedostot

Monilla näistä cmdleteistä on lyhyemmät aliakset tai jopa Bash-vastineet, mikä helpottaa siirtymistä, jos sinulla on aiempaa kokemusta muista järjestelmistä.

Edistynyt kirjoittaminen: Tietojen ja strukturoitujen tiedostojen vienti

Kaikki ei ole pelkkää tekstiä. Jos tarvitset viedä jäsenneltyä dataa, kuten taulukoita tai objektejaPowerShell tarjoaa cmdlet-komentoja, kuten Vienti-CSV:

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

Tällä tavoin voit luoda Excelin ja muiden työkalujen kanssa yhteensopivia CSV-tiedostoja, mikä laajentaa merkittävästi PowerShellin käytännön sovelluksia järjestelmänhallinnassa ja data-analyysissä.

Hallitse PowerShell-komennot tiedostojen sisälle kirjoittamiseen Sen avulla voit laajentaa tehtävien hallinta- ja automatisointimahdollisuuksia Windows-järjestelmissä. Yksinkertaisista tekstitiedostoista monimutkaisiin raportteihin tai lokeihin, kaikki on konsolin ja muutaman cmdletin ulottuvillaVähitellen PowerShellin kanssa työskentelystä tulee luonnollinen osa rutiinejasi, mikä säästää aikaasi ja antaa sinun suorittaa tehtäviä tarkasti ja tehokkaasti.