Hoe maak je uitvoer naar een bestand in Powershell met Out-File en Export-Csv Cmdlet?
Out-File is een cmdlet dat wordt geleverd door Powershell core libraries. Dit cmdlet biedt mogelijkheden om gemaakte uitvoer naar een bestand in het bestandssysteem te schrijven. In deze handleiding zullen we verschillende manieren bekijken om uitvoer naar een bestand te schrijven met Out-File
en Export-CSV
cmdlets.
Eén van de basis gebruiksscenario’s van out-file is het schrijven van uitvoer naar een bestand zonder het te wijzigen. In dit voorbeeld zullen we de uitvoer van Get-Process
commando in een bestand met de naam process.txt
schrijven door het te pipen. De bestandsnaam kan als volledig pad worden opgegeven zoals C:\user\process.txt
PS> Get-Process | Out-File process.txt
Naar bestaand bestand
Als we alleen nieuwe regels willen toevoegen en geen bestaande gegevens willen verwijderen, moeten we nieuwe gegevens toevoegen met de optie -Append
, zoals hieronder.
PS> Get-Process | Out-File -Append process.txt
Schrijven als CSV
We kunnen de gemaakte uitvoer in een bestand met CSV-formaat wegschrijven. CSV formaat scheidt de kolommen met komma’s. We gebruiken Export-Csv
cmdlet voor deze operatie. Dit zal meer tijd in beslag nemen dan raw schrijven naar een bestand omdat de rijen gescheiden zullen worden en elke kolom zal worden afgebakend met een commando.
PS> Get-Process | Export-Csv test.txt
Schrijf als bestand en als console
Een andere veelgebruikte functie is het schrijven van uitvoer naar een bestand, waarbij ook in de console wordt afgedrukt. Dit geeft uitgebreide informatie over de uitvoer. We zullen Tee-Object
gebruiken, die is overgeërfd van het Linux besturingssysteem.
In dit voorbeeld krijgen we dir
commando-uitvoer in console en bestand met de naam dirs.txt
PS> Dir | Tee-Object -f dirs.txt