Als je op zoek bent naar een PowerShell-cmdlet die de uitvoer in een tekstbestand kan opslaan, heb je geluk. Je staat op het punt te leren hoe je de PowerShell Out-File
-cmdlet kunt gebruiken, samen met zijn populaire Out-File -Append
-parameter ook!
Hoe werkt Out-File?
Deze PowerShell-cmdlet is eenvoudig van aard; het heeft als enig doel de ontvangen uitvoer op te slaan en in een tekstbestand te bewaren.
Het is ontworpen om de standaard uitvoeromleiding operator (>
) te vervangen. Zelfs vanaf de DOS-dagen konden we uitvoer naar een bestand omleiden. Deze cmdlet is de PowerShell-manier om het te doen.
De Out-File
-cmdlet wordt meestal aan het einde van de PowerShell-pijplijn gebruikt. Het heeft als enig doel de ruwe uitvoer rechtstreeks naar een tekstbestand te sturen zonder er veel aandacht aan te besteden. Er zijn minimale manieren om aanpassingen te maken aan hoe die uitvoer wordt geschreven.
Uitvoer naar een bestand sturen
Stel dat je een script hebt dat een lijst retourneert van alle Windows-services op je computer. Wanneer je Get-Service
uitvoert, ontvang je alle objecten die je op de console zou verwachten.
Maar misschien wil je die uitvoer opslaan in een tekstbestand. De Out-File
-cmdlet is een uitstekende manier om dat te doen. Je kunt het
gebruiken door bijna alles er via de pijplijn naartoe te sturen.
Je kunt hieronder zien dat de uitvoer van `Get-Service` naar de cmdlet is gestuurd die een tekstbestand heeft aangemaakt genaamd Services.txt dat exact de weergave bevat die je op de console ziet.
Toevoegen aan een bestand
Standaard overschrijft het alles in het tekstbestand dat is opgegeven via de parameter FilePath
. Je kunt dit gedrag echter overschrijven door de parameter Append
te gebruiken.
Misschien verzamel je console-uitvoer in een bestand en wil je tekst aan een bestand toevoegen in plaats van overschrijven. De Append
-parameter is dan je beste vriend.
Door de Out-File -Append
-parameter te gebruiken, kun je hieronder zien dat als je het niet gebruikt, de C:\File.txt wordt overschreven. Maar zodra je de Append
-parameter toevoegt, wordt de uitvoer aan het einde toegevoegd.
Wijziging van de uitvoer
Standaard probeert deze cmdlet te repliceren wat op de console wordt getoond, maar er zijn manieren om dit te manipuleren. Zo heeft de cmdlet bijvoorbeeld een NoNewLine
-parameter die eenvoudig alle regeleindekarakters verwijdert.
Of je kunt de tekst op elke rij ook afknippen op een specifiek tekenaantal met de Width
-parameter.
Conclusie

In een real-world scenario werkt deze cmdlet, maar er zijn betere manieren om uitvoer naar een bestand op te slaan.
Deze cmdlet biedt geen echte opties om de uitvoer te manipuleren. Het slaat de uitvoer eenvoudig op precies zoals deze wordt weergegeven op de console. Deze cmdlet is vergelijkbaar met een PowerShell-transcript dat gewoon alles direct naar een tekstbestand schrijft.
De cmdlets Add-Content
of Set-Content
zullen altijd meer flexibiliteit bieden, maar als je snel de PowerShell-uitvoer naar een bestand moet krijgen, is Out-File
de weg te gaan.
Gerelateerd: Set-Content: De PowerShell-manier om naar een bestand te schrijven