Verwenden des Cmdlet \"Out-File\"

Direktes Speichern von Daten in einer Textdatei

Mit dem Cmdlet Out-File können Sie übergebene Ausgabewerte direkt an eine Textdatei senden, statt die Ausgabe auf dem Bildschirm anzuzeigen. Mit folgendem Befehl beispielsweise rufen Sie mit dem Cmdlet Get-Process Prozessinformationen ab und verwenden anschließend das Cmdlet Out-File, um die Daten in die Datei "C:\Scripts\Test.txt" zu schreiben:

Get-Process | Out-File c:\scripts\test.txt

Standardmäßig speichert Out-File die Daten genau so, wie sie in der Windows PowerShell-Konsole angezeigt werden. Das bedeutet, dass einige Daten möglicherweise verkürzt werden. Werfen Sie beispielsweise einen Blick auf die Ergebnisse, die Sie erhalten, wenn Sie Get-Process in der Konsole ausführen:

Windows PowerShell

Wenn Sie genau hinschauen, werden Sie feststellen, dass der Name von mindestens einem Prozess (hier: "PhotoshopElementsF...") nicht vollständig angezeigt wird. Entsprechend wird diese Zeile genau so in der gespeicherten Textdatei aussehen:

61       5     1240        660    30     0.05   1084 PhotoshopElementsF...

Das ist ein Problem, das sich aber leicht lösen lässt: Fügen Sie einfach den Parameter –width ein, und geben Sie eine andere Zeilenbreite (in Zeichen) für die Textdatei ein. Mit diesem überarbeiteten Befehl legen Sie beispielsweise die Zeilenbreite auf 120 Zeichen fest:

Get-Process | Out-File c:\scripts\test.txt -width 120

Und so sieht die gleiche Zeile in der neuen und besser dargestellten Textdatei aus:

61       5     1240        660    30     0.05   1084 PhotoshopElementsFileAgent