PowerShell naredbe za pisanje u datoteke: Potpuni vodič

Posljednje ažuriranje: 30/07/2025
Autor: Isaac
  • PowerShell omogućava vam jednostavno kreiranje, mijenjanje i upravljanje tekstualnim i binarnim datotekama pomoću specifičnih cmdleta.
  • Naredbe kao što su Set-Content, Add-Content i Out-File nude različite načine pisanja ili dodavanja informacija u datoteke, prilagođavajući se potrebama svakog korisnika.
  • PowerShell-ova integracija sa .NET objektima i mogućnost rada sa precizno definisanim dozvolama značajno proširuje svestranost upravljanja datotekama.

Powershell naredbe za pisanje unutar datoteka

Biti u stanju pisati, mijenjati i manipulirati datotekama iz PowerShella To je fundamentalna vještina i za sistem administratore i za svakog korisnika koji teži automatizaciji procesa u Windows. PowerShell konzola nije samo alternativa klasičnoj naredbeni redak; je kompletno okruženje za skriptiranje što otvara vrata naprednom i efikasnom upravljanju datotekama, prilagođenom i jednostavnim i složenijim zadacima.

Naučite ključne naredbe i tehnike za rad s datotekama iz PowerShella omogućit će vam da idete daleko izvan osnovnih funkcionalnosti koje nudi grafički interfejs. U nastavku ćete pronaći detaljan i ažuriran vodič za najsvestranije cmdlete i metode za pisanje u tekstualne i binarne datoteke, kao i praktične primjere i buenos trikovi optimizirajte svoj svakodnevni život pomoću PowerShella.

Opcije za pisanje u datoteke pomoću PowerShella

PowerShell ima nekoliko cmdleta i metoda za generirajte datoteke, uređujte njihov sadržaj i manipulirajte njima prema svojim potrebama. Najkorišteniji i najkorisniji za ove zadatke su:

  • set-contentZapisuje ili zamjenjuje sadržaj datoteke.
  • Add-ContentDodaje dodatni sadržaj na kraj datoteke bez uklanjanja onoga što već sadrži.
  • Izvan datoteke: Preusmjerava izlaz bilo koje naredbe u datoteku.
  • StreamWriter i druge .NET metode – za situacije koje zahtijevaju veću kontrolu.

Svaka od ovih cmdleta ima zanimljive parametre i nijanse za različite scenarije, koje ćemo detaljno istražiti u ovom članku.

pisanje PowerShell datoteka pomoću cmdleta

Set-Content: Pisanje ili prepisivanje datoteka

Cmdlet set-content Vjerovatno je najdirektnije kada je cilj kreirati datoteku ili prepisati njen trenutni sadržajNjegova osnovna upotreba je prilično intuitivna:

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

Ako datoteka već postoji, ova naredba će je u potpunosti zamijeniti novim tekstom. Ako datoteka ne postoji, automatski će se kreirati na navedenoj lokaciji.

  Kako koristiti telefon kao daljinski upravljač za upravljanje PowerPointom

Također je moguće lako raditi s više linija. Na primjer, da biste sačuvali niz s više stringova u novu datoteku, jednostavno:

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

Svaki element niza se zapisuje u posebnom redu., čime se olakšava kreiranje strukturiranih datoteka.

Add-Content: Dodavanje informacija na kraj datoteke

Kad ti zatreba dodavanje podataka u postojeću datoteku bez brisanja stare, cmdlet Add-Content je savršena opcija. Njegova sintaksa je vrlo slična Set-Content:

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

Ova komanda će umetnuti tekst na kraj datoteke, čuvajući sav originalni sadržaj. Posebno je korisna za obradu logova, rezanje ili postepeno prikupljati informacije.

Ako želite dodati više redova, to možete učiniti prosljeđivanjem niza, kao što je ranije prikazano.

Izlazna datoteka: Izlaz naredbe za preusmjeravanje

PowerShell preusmjeravanje izlaza iz izlazne datoteke

Cmdlet Out-File ističe se kada to želimo direktno sačuvati izlaz bilo koje komande ili skripta u datoteciVrlo je korisno, na primjer, ako želite sačuvati listu, izvještaj ili rezultat složenog procesa:

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

U ovom slučaju, Ono što se obično vidi na ekranu pohranjuje se u datoteku, poštujući format i linije kako se pojavljuju u konzoli.

Podrazumevano, Out-File prepisuje odredišnu datoteku., ali možete koristiti parametar -Dodaj Da biste dodali informacije bez brisanja prethodnih informacija:

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

Osim toga, možete odrediti kodiranje datoteke pomoću parametra -Encoding ili prisilno stvaranje sa -Korce.

Poređenje između Set-Content, Add-Content i Out-File

Uobičajeno je da se ove tri cmdleta pomiješaju, ali svaki je dizajniran za specifične situacije:

  • set-content: korisno za definiranje ili potpunu zamjenu sadržaja datoteke.
  • Add-ContentSavršeno kada samo želite dodati tekst bez mijenjanja onoga što već postoji.
  • Izvan datotekeIdealno za preusmjeravanje rezultata iz složenih skripti ili naredbi.

Važan trik je kombinovanje Vanjski niz s ovim cmdletsima ako trebate pretvoriti izlaz objekta u tekst prije nego što ga zapišete, posebno s Set-Content:

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

Praktični primjeri pisanja i preusmjeravanja u datotekama

Pogledajmo neke uobičajene primjere i praktične situacije koje možete brzo riješiti:

  • Kreirajte novu tekstualnu datoteku:
    New-Item -Path "C:\ejemplo\nuevo.txt" -ItemType File
  • Ispraznite sadržaj datoteke, ali je zadržite:
    Clear-Content -Path "C:\ejemplo\log.txt"
  • Dodajte testni tekst:
    "Este es un ejemplo" | Add-Content -Path "C:\ejemplo\nuevo.txt"
  • Zamijenite riječ u cijeloj datoteci:
    (Get-Content .\archivo.txt).replace('buscar', 'reemplazo') | Set-Content .\archivo.txt

Ne zaboravite koristiti džoker znake (*) za rad s više datoteka odjednom., na primjer:

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

Napredno rukovanje: Pisanje datoteka pomoću StreamWritera i .NET-a

Manipuliranje datotekama pomoću PowerShell StreamWritera

Za zadatke koji zahtijevaju veću kontrolu, kao što su pisanje binarnih podataka, rukovanje neuobičajenim kodiranjima ili obrada velikih količina podataka, možete koristiti klasu 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()

Ova metoda vam daje dodatna fleksibilnost, što je posebno korisno u naprednim skriptama ili kada je potrebno prilagoditi izlazni tok.

  Promjena broja aplikacija na Androidu – Kako preimenovati i promijeniti broj aplikacija?

Rad s dozvolama i zaštićenim datotekama

Ponekad može biti potrebno kreiranje datoteka sa određenim dozvolama ili izmijeniti ACL datoteke. PowerShell i .NET to olakšavaju kombinovanjem cmdleta i objekata. Na primjer, da biste dodijelili punu kontrolu korisniku domene:

$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 ovaj način možete osigurati da vaša datoteka nije samo ispravno kreirana i napisana, već i je zaštićen i sa ispravnim dozvolama.

Dodatno upravljanje: Čitanje, izmjena i brisanje datoteka

Upravljanje datotekama u PowerShellu nije ograničeno samo na kucanje. Možete:

  • Pročitajte sadržaj pomoću Get-Content: Get-Content -Path "C:\ruta\archivo.txt"
  • Brisanje datoteka pomoću Remove-Item naredbe: Remove-Item -Path "C:\ruta\archivo.txt"
  • Kopirajte ili premještajte datoteke pomoću opcija Copy-Item i Move-Item jer vam je potrebno reorganizirati direktorije.
  • Filtrirajte rezultate pomoću džoker znakova, selektora i parametara da radi samo na željenim datotekama.

Automatizacija i manipulacija velikim količinama podataka

Jedna od najvećih prednosti PowerShella je ta što olakšava automatizaciju procesa pomoću skripti. Da li trebate spojiti sadržaj nekoliko datoteka u novu? Koristi:

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

Ili da biste dodali rezultat određene pretrage u više datoteka:

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

A ako naiđete na bilo kakve zastoje s beskonačnim petljama ili procesima koji se nikada ne završavaju, zapamtite da možete prekinuti izvršavanje pritiskom na Control+C na konzoli.

Drugi korisni alati i prečice u PowerShellu

Kako se budete upoznavali sa svojom okolinom, otkrit ćete praktične prečice, kao što su:

  • Automatsko dovršavanje pomoću tipke Tab za putanje datoteka ili naredbe.
  • Podsjeti prethodno korištene komande sa strelicama gore/dolje.
  • Brz rad s više direktorija korištenjem Push-Location (pushd) i Pop-Location (popd).
  • Izlaz za usmjeravanje između različitih cmdleta koristeći simbol | (cijev), na primjer:
    Get-Content archivo.txt | Measure-Object -Word -Line -Character

Sažetak cmdletsa i ekvivalencija

PowerShell se fokusira na konzistentnost u konvencijama imenovanja "Glagol-Imenica" u svim svojim cmdletima, što ih čini lakšim za učenje. Evo ključnih komandi koje biste trebali zapamtiti:

  Popravi graf uređaja kod 43 u kućnim prozorima 11/10
Cmdlet pseudonim Primarna upotreba
Set-Content sc Pisanje/zamjena sadržaja
Add-Content ac Dodajte sadržaj na kraju
Out-File - Izlaz naredbe za preusmjeravanje
Get-Content gc Pročitajte sadržaj
Remove-Item rm Brisanje datoteka/direktorija
New-Item ni Kreiranje datoteka i mapa
Clear-Content - Prazne datoteke

Mnogi od ovih cmdleta imaju kraće aliase ili čak Bash ekvivalente, što olakšava prelazak ako imate prethodnog iskustva s drugim sistemima.

Napredno pisanje: Izvoz podataka i strukturiranih datoteka

Nije sve običan tekst. Ako vam je potrebno izvoz strukturiranih podataka, kao što su tabele ili objektiPowerShell vam pruža cmdlete kao što su Izvoz-CSV:

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

Na ovaj način možete generirati CSV datoteke kompatibilne s Excelom i drugim alatima, značajno proširujući praktične primjene PowerShella u administraciji sistema i analizi podataka.

Ovladajte PowerShell naredbe za pisanje unutar datoteka Omogućava vam proširenje mogućnosti upravljanja i automatizacije zadataka na Windows sistemima. Od jednostavnih tekstualnih datoteka do složenih izvještaja ili logova, sve je nadohvat ruke iz konzole i nekoliko cmdletaMalo po malo, rad sa PowerShell-om će postati prirodan dio vaše rutine, štedeći vam vrijeme i omogućavajući vam da izvršavate zadatke precizno i efikasno.