Articles

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
Write In To A File
Write In To A File

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
Schrijven als CSV
Schrijven als CSV

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
Schrijf zowel bestand als console
Schrijf zowel bestand als console

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *