PowerShell:
Läsa en textfil
How to: (“Hur?”)
# Läs hela filen med Get-Content
$content = Get-Content -Path "C:\example\myFile.txt"
Write-Output $content
# Läs fil rad för rad
$lines = Get-Content -Path "C:\example\myFile.txt" -ReadCount 0
foreach ($line in $lines) {
Write-Output $line
}
# Använda pipeline för att filtrera innehåll
Get-Content "C:\example\myFile.txt" | Where-Object { $_ -match "specifik sträng" }
# Skriv ut första raden i filen
$firstLine = Get-Content "C:\example\myFile.txt" | Select-Object -First 1
Write-Output $firstLine
Exempel på resultat:
Hej Världen!
Detta är en textfil med exempeltext.
Deep Dive (“Djupdykning”)
När det handlar om historiken började PowerShell, känd som Windows PowerShell före version 6, användas för att automatisera uppgifter och konfigurera systeminställningar. Att läsa textfiler har alltid varit en kärnfunktion, från batchfiler till avancerade skriptspråk.
Alternativen till Get-Content
inkluderar [System.IO.File]::ReadAllText()
för .NET Framework interoperabilitet eller verktyg som cat
i Unix-liknande miljöer.
Implementationen av Get-Content
är optimerad för PowerShell och hanterar filer rad för rad, vilket kan spara minne för stora filer. Men det kan vara långsammare än att läsa hela textinnehållet på en gång med [System.IO.File]
.
See Also (“Se även”)
- Microsofts dokumentation för Get-Content: docs.microsoft.com
- PowerShell’s About Automatic Variables: docs.microsoft.com