Wie wird die Ausgabe in eine Datei in der Powershell mit dem Cmdlet „Out-File“ und „Export-Csv“ ausgegeben?
Out-File ist ein Cmdlet, das von den Powershell-Kernbibliotheken bereitgestellt wird. Dieses Cmdlet bietet Funktionen zum Schreiben der erstellten Ausgabe in eine Datei im Dateisystem. In diesem Tutorial sehen wir uns verschiedene Möglichkeiten an, die Ausgabe mit den Cmdlets Out-File
und Export-CSV
in eine Datei zu schreiben.
Eines der grundlegenden Anwendungsszenarien von Out-File ist das Schreiben der Ausgabe in eine Datei, ohne diese zu verändern. In diesem Beispiel wird die Ausgabe des Get-Process
-Befehls per Piping in eine Datei namens process.txt
geschrieben. Der Dateiname kann als vollständiger Pfad angegeben werden wie C:\user\process.txt
PS> Get-Process | Out-File process.txt
In eine bestehende Datei einfügen
Wenn wir nur neue Zeilen einfügen und bestehende Daten nicht entfernen wollen, sollten wir neue Daten mit der Option -Append
wie unten hinzufügen.
PS> Get-Process | Out-File -Append process.txt
Als CSV schreiben
Wir können die erstellte Ausgabe in eine Datei im CSV-Format schreiben. Das CSV-Format trennt die Spalten mit Komma. Wir verwenden das Cmdlet Export-Csv
für diesen Vorgang. Dies wird mehr Zeit in Anspruch nehmen als das rohe Schreiben in die Datei, da die Zeilen getrennt werden und jede Spalte mit dem Befehl abgegrenzt wird.
PS> Get-Process | Export-Csv test.txt
Schreiben Sie sowohl in die Datei als auch in die Konsole
Eine weitere häufig verwendete Funktion ist das Schreiben der Ausgabe in eine Datei und das Drucken in der Konsole. Dadurch erhalten Sie ausführliche Informationen über die Ausgabe. Wir werden Tee-Object
verwenden, das vom Linux-Betriebssystem geerbt wird.
In diesem Beispiel erhalten wir dir
eine Befehlsausgabe in die Konsole und eine Datei namens dirs.txt
PS> Dir | Tee-Object -f dirs.txt