Wie man die Ausgabe mit PowerShell in eine Datei exportiert
-
Einführung in den
Out-FileBefehl in PowerShell -
Verwenden Sie den
-appendParameter, 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