Wie man die Ausgabe mit PowerShell in eine Datei exportiert
-
Einführung in den
Out-File
Befehl in PowerShell -
Verwenden Sie den
-append
Parameter, um in PowerShell an eine Datei anzuhängen - Ändern Sie die Ausgabedaten in PowerShell

Mehrere Skriptsprachen verfügen über Funktionen oder Methoden, mit denen Sie die Daten in eine Datei exportieren können. Sogar in den frühen MS-DOS-Tagen konnte der Legacy-Umleitungsoperator (>
) dies bequem tun.
Dieser Artikel behandelt, wie man Ausgabedaten in eine Datei exportiert, Daten zu einer bestehenden Datei hinzufügt und die Ausgabe mit PowerShell manipuliert.
Einführung in den Out-File
Befehl in PowerShell
Angenommen, Sie haben ein Skript, das eine Liste aller Windows-Dienste auf Ihrem Computer zurückgibt. Wenn wir Get-Service
ausführen, erhalten Sie alle Objekte, die Sie möglicherweise in der Konsole erwarten.
Aber vielleicht möchten wir diese Ausgabe in einer Textdatei speichern. Der Out-File
Befehl ist eine großartige Möglichkeit, dies zu tun.
Wir können Out-File
verwenden, indem wir so ziemlich alles über den Pipeline-Operator senden. Unten sehen wir, dass das Skript die Ausgabe von Get-Service
an das Cmdlet gesendet hat, das eine Textdatei namens Services.txt
erstellt hat, die dasselbe Display in der Konsole enthält.
Beispielcode:
Get-Service | Out-File -FilePath C:\PS\Services.txt
Get-Content C:\PS\Services.txt
Ausgabe:
Status Name DisplayName
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application Layer Gateway Service
<SNIP>
Verwenden Sie den -append
Parameter, um in PowerShell an eine Datei anzuhängen
Standardmäßig überschreibt der Out-File
Befehl alles in der Textdatei, die über den -FilePath
Parameter bereitgestellt wird. Wir können dieses Verhalten jedoch mit dem -Append
Parameter außer Kraft setzen.
Vielleicht sammeln wir Konsolenausgaben in einer Datei und möchten lieber Text an eine Datei anhängen, anstatt sie zu überschreiben. Der -Append
Parameter ist Ihr bester Freund.
Wenn wir den Out-File -Append
Parameter nicht verwenden, werden die Inhalte von C:\PS\File.txt
überschrieben. Aber sobald wir den -Append
Parameter hinzufügen, wird die Ausgabe an das Ende angehängt.
Beispielcode:
'firststring' | Out-File -FilePath C:\PS\File.txt
Get-Content -Path C:\PS\File.txt
'secondstring' | Out-File -FilePath C:\PS\File.txt -Append
Get-Content C:\PS\File.txt
Ausgabe:
firststring
firststring
secondstring
Ändern Sie die Ausgabedaten in PowerShell
Standardmäßig versucht dieses Cmdlet, das zu replizieren, was in der Konsole angezeigt wird, es gibt jedoch einige Möglichkeiten, dies zu manipulieren. Zum Beispiel hat das Cmdlet einen -NoNewLine
Parameter, der alle Zeilenumbrüche entfernt.
Beispielcode:
Get-Service | Out-File -FilePath C:\PS\Services.txt -NoNewline
Get-Content C:\PS\Services.txt
Ausgabe:
Status Name DisplayName
------ ---- -----------
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application La
Oder wir können den Text in jeder Zeile bei einer bestimmten Zeichenzahl mit dem -Width
Parameter abschneiden.
Beispielcode:
Get-Service | Out-File -FilePath C:\PS\Services.txt -Width 30
Get-Content C:\PS\Services.txt
Ausgabe:
Status Name DisplayName
------ ----- -----------
Stopped AJRouter Al
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn