Ukazi PowerShell za pisanje v datoteke: popoln vodnik

Zadnja posodobitev: 30/07/2025
Avtor: Isaac
  • PowerShell omogoča enostavno ustvarjanje, spreminjanje in upravljanje besedilnih in binarnih datotek z uporabo določenih ukazov »cmdlet«.
  • Ukazi kot so Set-Content, Add-Content in Out-File, ponujajo različne načine za pisanje ali dodajanje informacij v datoteke, pri čemer se prilagajajo potrebam vsakega uporabnika.
  • Integracija PowerShella z objekti .NET in možnost dela z natančnimi dovoljenji znatno širi vsestranskost upravljanja datotek.

Ukazi Powershella za pisanje v datoteke

Biti sposoben pisati, spreminjati in upravljati z datotekami iz PowerShella To je temeljna veščina tako za sistemske administratorje kot za vse uporabnike, ki si želijo avtomatizirati procese v Windows. Konzola PowerShell ni le alternativa klasični ukazni poziv; je popolno okolje za skriptiranje kar odpira vrata naprednemu in učinkovitemu upravljanju datotek, prilagojenemu tako preprostim kot bolj kompleksnim nalogam.

Naučite se ključnih ukazov in tehnik za delo z datotekami iz PowerShella vam bo omogočil, da greste daleč dlje od osnovnih funkcionalnosti, ki jih ponuja grafični vmesnik. Spodaj boste našli podroben in posodobljen vodnik po najbolj vsestranskih ukazih »cmdlet« in metodah za pisanje v besedilne in binarne datoteke, pa tudi praktične primere in buenos Tricks za optimizacijo vašega vsakdanjega življenja s PowerShellom.

Možnosti za pisanje v datoteke s PowerShellom

PowerShell ima več ukazov »cmdlet« in metod za ustvarjajte datoteke, urejajte njihovo vsebino in jih manipulirajte glede na svoje potrebe. Najbolj uporabljeni in uporabni za te naloge so:

  • Set-vsebina: Zapiše ali zamenja vsebino datoteke.
  • Dodajanje vsebine: Doda dodatno vsebino na konec datoteke, ne da bi odstranil tisto, kar že vsebuje.
  • Out-datoteke: Preusmeri izhod katerega koli ukaza v datoteko.
  • StreamWriter in druge metode .NET – za situacije, ki zahtevajo večji nadzor.

Vsak od teh ukazov »cmdlet« ima zanimive parametre in nianse za različne scenarije, ki jih bomo podrobneje raziskali v tem članku.

pisanje datotek PowerShell z ukazom cmdlet

Nastavi vsebino: Pisanje ali prepisovanje datotek

Cmdlet Set-vsebina Verjetno je najbolj neposreden, ko je cilj ustvari datoteko ali prepiši njeno trenutno vsebinoNjegova osnovna uporaba je precej intuitivna:

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

Če datoteka že obstaja, jo bo ta ukaz v celoti nadomestil z novim besedilom. Če datoteka ne obstaja, jo bo samodejno ustvaril na določeni lokaciji.

  To je nekaj preprostih korakov, da se znebite ali odstranite uroke in uroke v Minecraftu

Prav tako je mogoče enostavno delati z več vrsticami. Na primer, če želite shraniti tabelo z več nizi v novo datoteko, preprosto:

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

Vsak element tabele je zapisan v ločeni vrstici., s čimer se olajša ustvarjanje strukturiranih datotek.

Add-Content: Dodajanje informacij na konec datoteke

Ko rabiš dodajte podatke v obstoječo datoteko, ne da bi izbrisali staro, ukaz »cmdlet« Dodajanje vsebine je odlična možnost. Njegova sintaksa je zelo podobna kot Set-Content:

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

Ta ukaz bo vstavil besedilo na konec datoteke in ohranil vso izvirno vsebino. Še posebej je uporaben za obdelavo dnevnikov, dnevniki ali pa postopno zbirajte informacije.

Če želite dodati več vrstic, lahko to storite tako, da posredujete tabelo, kot je prikazano prej.

Out-File: Izhod ukaza za preusmeritev

izhodna datoteka preusmeritve PowerShella

Ukaz »Out-File« izstopa, ko si to želimo neposredno shranite izhod katerega koli ukaza ali script v datotekiZelo uporabno je na primer, če želite shraniti seznam, poročilo ali rezultat zapletenega postopka:

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

V tem primeru oz. Kar se običajno vidi na zaslonu, je shranjeno v datoteki, pri čemer upoštevajte obliko in vrstice, kot se prikažejo v konzoli.

Privzeto Out-File prepiše ciljno datoteko., lahko pa uporabite parameter -Dodaj Če želite dodati podatke, ne da bi izbrisali prejšnje podatke:

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

Poleg tega lahko s parametrom določite kodiranje datoteke -Kodiranje ali ustvarjanje sile z -Sila.

Primerjava med nastavitvijo vsebine, dodajanjem vsebine in odjavo datoteke

Te tri ukaze »cmdlet« je pogosto zamenjati, vendar je vsak zasnovan za specifične situacije:

  • Set-vsebina: uporabno za definiranje ali popolno zamenjavo vsebine datoteke.
  • Dodajanje vsebine: odlično, kadar želite le dodati besedilo, ne da bi spremenili že obstoječe.
  • Out-datotekeIdealno za preusmeritev rezultatov iz kompleksnih skriptov ali ukazov.

Pomemben trik je kombiniranje Zunanji niz s temi ukazi »cmdlets«, če morate pred pisanjem pretvoriti izhod objekta v besedilo, še posebej z ukazom »Set-Content«:

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

Praktični primeri pisanja in preusmerjanja v datotekah

Oglejmo si nekaj pogostih primerov in praktičnih situacij, ki jih lahko hitro rešite:

  • Ustvarite novo besedilno datoteko:
    New-Item -Path "C:\ejemplo\nuevo.txt" -ItemType File
  • Izpraznite vsebino datoteke, vendar jo ohranite:
    Clear-Content -Path "C:\ejemplo\log.txt"
  • Dodaj testno besedilo:
    "Este es un ejemplo" | Add-Content -Path "C:\ejemplo\nuevo.txt"
  • Zamenjaj besedo v celotni datoteki:
    (Get-Content .\archivo.txt).replace('buscar', 'reemplazo') | Set-Content .\archivo.txt

Ne pozabite uporabiti nadomestnih znakov (*) za delo z več datotekami hkrati., na primer:

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

Napredno rokovanje: Pisanje datotek s StreamWriterjem in .NET

Upravljanje datotek s PowerShell StreamWriter

Za naloge, ki zahtevajo večji nadzor, kot so pisanje binarnih podatkov, obravnavanje nenavadnih kodiranj ali obdelava velikih količin, lahko uporabite razred System.IO.StreamWriter iz .NET-a:

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

Ta metoda vam daje dodatna prilagodljivost, še posebej uporabna v naprednih skriptih ali kadar morate prilagoditi izhodni tok.

  Kako aktivirati mono zvok v sistemu Windows 11 korak za korakom

Delo z dovoljenji in zaščitenimi datotekami

Včasih je morda potrebno ustvarjanje datotek z določenimi dovoljenji ali spremenite ACL datoteke. PowerShell in .NET to olajšata z združevanjem ukazov »cmdlet« in objektov. Na primer, če želite uporabniku domene dodeliti poln nadzor:

$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

Na ta način lahko zagotovite, da je vaša datoteka ne le pravilno ustvarjena in zapisana, ampak tudi je zaščiten in ima pravilna dovoljenja.

Dodatno upravljanje: branje, spreminjanje in brisanje datotek

Upravljanje datotek v PowerShellu ni omejeno le na tipkanje. Lahko:

  • Preberite vsebino z Get-Content: Get-Content -Path "C:\ruta\archivo.txt"
  • Brisanje datotek z ukazom Remove-Item: Remove-Item -Path "C:\ruta\archivo.txt"
  • Kopiranje ali premikanje datotek s Copy-Item in Move-Item saj morate reorganizirati imenike.
  • Filtriranje rezultatov z uporabo nadomestnih znakov, selektorjev in parametrov delati samo na želenih datotekah.

Avtomatizacija in manipulacija velikih količin podatkov

Ena največjih prednosti PowerShella je, da omogoča avtomatizacijo procesov s skripti. Ali morate združiti vsebino več datotek v novo? Uporablja:

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

Ali pa dodajte rezultat določenega iskanja v več datotek:

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

In če naletite na kakršne koli zastoje z neskončnimi zankami ali procesi, ki se nikoli ne končajo, ne pozabite, da lahko izvajanje prekinete s pritiskom na Ctrl+C na konzoli.

Druga uporabna orodja in bližnjice v PowerShellu

Ko se boste seznanili z okolico, boste odkrili priročne bližnjice, kot so:

  • Samodejno dokončanje s tipko Tab za poti datotek ali ukaze.
  • Priklic prej uporabljenih ukazov s puščicama gor/dol.
  • Hitro delo z več imeniki z uporabo potisne lokacije (pushd) in pojavne lokacije (popd).
  • Izhodni podatki med različnimi ukazi »cmdlets« z uporabo simbola | (cev), na primer:
    Get-Content archivo.txt | Measure-Object -Word -Line -Character

Povzetek ukazov »cmdlet« in ekvivalentov

PowerShell se osredotoča na doslednost pri poimenovanju »glagol-samostalnik« v vseh svojih ukazih »cmdlet«, zaradi česar jih je lažje naučiti. Tukaj so ključni ukazi, ki si jih morate zapomniti:

  Popravilo za napako Ne morem se povezati s strežnikom proxy v domačem sistemu Windows 10
Cmdlet Alias Primarna uporaba
Set-Content sc Pisanje/zamenjava vsebine
Add-Content ac Dodajte vsebino na koncu
Out-File - Izhod ukaza za preusmeritev
Get-Content gc Preberite vsebino
Remove-Item rm Izbriši datoteke/mape
New-Item ni Ustvarjanje datotek in map
Clear-Content - Prazne datoteke

Mnogi od teh ukazov »cmdlet« imajo krajše vzdevke ali celo ekvivalente v Bashu, kar olajša prehod, če imate predhodne izkušnje z drugimi sistemi.

Napredno pisanje: Izvoz podatkov in strukturiranih datotek

Ni vse zgolj besedilo. Če potrebujete izvoz strukturiranih podatkov, kot so tabele ali objektiPowerShell vam ponuja ukaze »cmdlet«, kot so Izvozi-CSV:

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

Na ta način lahko ustvarite datoteke CSV, ki so združljive z Excelom in drugimi orodji, kar znatno razširi praktično uporabo PowerShella pri sistemski administraciji in analizi podatkov.

Obvladajte Ukazi PowerShell za pisanje v datoteke Omogoča vam razširitev možnosti za upravljanje in avtomatizacijo opravil v sistemih Windows. Od preprostih besedilnih datotek do kompleksnih poročil ali dnevnikov, vse je na dosegu konzole in nekaj ukazov »cmdlet«Delo s PowerShellom bo postopoma postalo naravni del vaše rutine, kar vam bo prihranilo čas in vam omogočilo natančno in zmogljivo izvajanje nalog.

Pustite komentar