Wenn Sie auf der Suche nach einem PowerShell-Cmdlet sind, das die Ausgabe in einer Textdatei speichern kann, haben Sie Glück. Sie werden gleich lernen, wie Sie das PowerShell Out-File
-Cmdlet zusammen mit seinem beliebten Out-File -Append
-Parameter verwenden können!
Wie funktioniert Out-File?
Dieses PowerShell-Cmdlet ist von einfacher Natur; sein einziger Zweck besteht darin, empfangene Ausgaben zu speichern und sie in einer Textdatei zu speichern.
Es wurde entworfen, um den Standard-Ausgaberichtungs Operator (>
) zu ersetzen. Schon seit den DOS-Tagen konnten wir Ausgaben in eine Datei umleiten. Dieses Cmdlet ist der PowerShell-Weg, um es zu tun.
Das Out-File
-Cmdlet wird normalerweise am Ende der PowerShell-Pipeline verwendet. Sein einziger Zweck ist es, die Rohausgabe direkt in eine Textdatei zu senden, ohne Rücksicht darauf. Es gibt minimale Möglichkeiten, wie diese Ausgabe geschrieben wird.
Ausgabe in eine Datei senden
Angenommen, Sie haben ein Skript, das eine Liste aller Windows-Dienste auf Ihrem Computer zurückgibt. Wenn Sie Get-Service
ausführen, erhalten Sie alle Objekte, die Sie auf der Konsole erwarten würden.
Vielleicht möchten Sie jedoch diese Ausgabe in einer Textdatei speichern. Das Out-File
-Cmdlet ist eine großartige Möglichkeit, dies zu tun. Sie können es
verwenden, indem Sie praktisch alles über die Pipeline weiterleiten.
Sie können unten sehen, dass die Ausgabe von Get-Service
an das Cmdlet gesendet wurde, das eine Textdatei namens Services.txt erstellt hat, die genau den Inhalt enthält, den Sie auf der Konsole sehen.
Anhängen an eine Datei
Standardmäßig überschreibt es alles in der Textdatei, die über den FilePath
-Parameter bereitgestellt wird. Sie können jedoch dieses Verhalten überschreiben, indem Sie den Append
-Parameter verwenden.
Vielleicht sammeln Sie die Konsolenausgabe in einer Datei und möchten Text an eine Datei anhängen, anstatt sie zu überschreiben. Der Append
-Parameter ist Ihr bester Freund.
Indem Sie den Out-File -Append
-Parameter verwenden, können Sie unten sehen, dass, wenn Sie ihn nicht verwenden, die C:\File.txt überschrieben wird. Aber sobald Sie den Append
-Parameter anhängen, wird die Ausgabe an das Ende angehängt.
Ändern der Ausgabe
Standardmäßig versucht dieses Cmdlet, das an der Konsole Gezeigte zu replizieren, aber es gibt einige Möglichkeiten, es zu manipulieren. Zum Beispiel hat das Cmdlet einen NoNewLine
-Parameter, der einfach alle Zeilenumbrüche entfernt.
Oder Sie können den Text in jeder Zeile auch an einer bestimmten Zeichenanzahl abschneiden, und zwar mit dem Width
-Parameter.
Fazit

In einem realen Szenario funktioniert dieses Cmdlet, aber es gibt bessere Möglichkeiten, die Ausgabe in einer Datei zu speichern.
Dieses Cmdlet bietet keine echten Optionen zur Manipulation der Ausgabe. Es speichert die Ausgabe einfach genau so, wie sie auf der Konsole angezeigt wird. Dieses Cmdlet ähnelt einem PowerShell-Transkript, das einfach alles direkt in eine Textdatei schreibt.
Die Add-Content
– oder Set-Content
-Cmdlets bieten immer mehr Flexibilität, aber wenn Sie eine schnelle Möglichkeit benötigen, um die PowerShell-Ausgabe in eine Datei zu bekommen, ist Out-File
der richtige Weg.
Verwandt: Set-Content: Der PowerShell-Weg zum Schreiben in eine Datei