PowerShell:
Een tekstbestand lezen
Hoe:
Laten we beginnen met de basis! Zo lees je uit een tekstbestand in PowerShell:
# Haal de inhoud van een bestand op
$content = Get-Content -Path "C:\pad\naar\jouw\bestand.txt"
# Toon de inhoud in de console
Write-Output $content
Een voorbeelduitvoer zou er zo uit kunnen zien als je bestand een paar regels tekst bevatte:
Hallo, PowerShell!
Einde van bestand.
Wil je nu regel voor regel lezen?
# Lees het bestand regel voor regel
$lines = Get-Content -Path "C:\pad\naar\jouw\bestand.txt" -ReadCount 0
foreach ($line in $lines) {
Write-Output $line
}
Zelfde voorbeelduitvoer als hierboven, maar één regel tegelijk verwerkt.
Diepere duik
Lang voor PowerShell waren command-line tools zoals cat
in UNIX-achtige systemen of type
in DOS de standaard voor het lezen van bestanden. Get-Content van PowerShell is het scherpe gereedschap hiervoor vandaag de dag, met extra voordelen zoals regel-voor-regellezen, wat helpt om geheugenoverbelasting bij enorme bestanden te voorkomen.
Naast Get-Content
, hebben we .NET
-klassen tot onze beschikking voor meer controle – maak kennis met System.IO.StreamReader
:
$stream = [System.IO.StreamReader] "C:\pad\naar\jouw\bestand.txt"
try {
while ($line = $stream.ReadLine()) {
Write-Output $line
}
}
finally {
$stream.Close()
}
Dit is een meer geheugenefficiënte methode, nuttig voor enorme tekstbergen.
Alternatieven? Nou, je zou Import-Csv
kunnen gebruiken voor CSV-bestanden of ConvertFrom-Json
voor JSON als je gegevens in gestructureerde objecten wilt scheppen. Maar blijf bij Get-Content
voor het ruwe tekstwerk.
Zie Ook
Bekijk de officiële documentatie voor meer schatten:
- Get-Content Documentatie
- Over Automatische Variabelen - Dit geeft inzicht in variabelen zoals
$_
, die handig kunnen zijn voor inline verwerking. - PowerShell’s .NET-mogelijkheden gebruiken - Voor diegenen die dieper duiken in het .NET-framework binnen PowerShell.