Wenn Sie auf dem Markt für ein PowerShell-Cmdlet sind, das die Ausgabe in einer Textdatei speichern kann, haben Sie Glück. Sie werden lernen, wie Sie das PowerShell-Cmdlet Out-File
zusammen mit dem beliebten Parameter Out-File -Append
verwenden!
Inhaltsverzeichnis
Wie funktioniert Out-File?
Das PowerShell Out-File Cmdlet ist einfach in der Natur; es ist einziger Zweck ist die empfangene Ausgabe zu speichern und in einer Textdatei zu speichern.,
Die Out-Datei wurde entwickelt, um den Standardoperator für die Ausgabeumleitung zu ersetzen (>
). Selbst ab den DOS-Tagen konnten wir die Ausgabe in eine Datei umleiten. Dieses Cmdlet ist die PowerShell-Methode.
Das Cmdlet Out-File
wird normalerweise am Ende der PowerShell-Pipeline verwendet. Der einzige Zweck besteht darin, die Rohausgabe ohne Rücksicht direkt an eine Textdatei zu senden. Es gibt minimale Möglichkeiten zu optimieren, 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
, erhalten Sie alle Objekte, die Sie auf der Konsole erwarten.
Aber vielleicht möchten Sie diese Ausgabe in einer Textdatei speichern. Das Cmdlet Out-File
ist eine großartige Möglichkeit, dies zu tun. Sie können Out-File
indem Sie so ziemlich alles über die Pipeline an sie weiterleiten.,
Sie können unten sehen, dass die Ausgabe von Get-Service
an das Cmdlet gesendet wurde, das eine Textdatei namens Services erstellt hat.txt, das die genaue Anzeige enthält, die Sie auf der Konsole sehen.
PS> Get-Service | Out-File -FilePath C:\Services.txtPS> Get-Content C:\Services.txtStatus Name DisplayNameStopped AJRouter AllJoyn Router ServiceStopped ALG Application Layer Gateway ServiceStopped AppIDSvc Application IdentityStopped Appinfo Application InformationStopped AppMgmt Application Management<SNIP>
Anhängen an eine Datei
Standardmäßig überschreibt Out-File
alles in der Textdatei, die über den Parameter FilePath
bereitgestellt wird. Sie können dieses Verhalten jedoch überschreiben, indem Sie den Parameter Append
.,
Vielleicht akkumulieren Sie die Konsolenausgabe in einer Datei und möchten Text an eine Datei anhängen, anstatt sie zu überschreiben. Der Parameter Append
ist Ihr bester Freund.
Mit demOut-File -Append
Parameter können Sie unten sehen, beachten Sie, dass, wenn Sie es nicht verwenden, die C:\File.txt wird überschrieben. Sobald Sie jedoch den Parameter Append
, wird die Ausgabe an das Ende angehängt.
Ausgabe ändern
Standardmäßig versucht dieses Cmdlet zu replizieren, was auf der Konsole angezeigt wird, aber es gibt einige Möglichkeiten, es zu manipulieren., Zum Beispiel hat das Cmdlet einenNoNewLine
Parameter, der lediglich alle Zeilenumbruchszeichen entfernt.
Oder Sie können den Text in jeder Zeile mit einer bestimmten Zeichenanzahl sowie mit dem Parameter Width
abschneiden.
<
In einem realen Szenario funktioniert das Cmdlet Out-File
, aber es gibt bessere Möglichkeiten, die Ausgabe in einer Datei zu speichern.
Das Cmdlet Out-File
bietet keine wirklichen Optionen zum Bearbeiten der Ausgabe. Es speichert einfach die Ausgabe genau wie in der Konsole gezeigt., Dieses Cmdlet ähnelt einem PowerShell-Transkript, das alles direkt in eine Textdatei schreibt.
DieAdd-Content
oder Cmdlets haben immer mehr Flexibilität, aber wenn Sie einen schnellen Weg benötigen, um die PowerShell-Ausgabe in eine Datei zu übertragen, istOut-File
der richtige Weg.
Related: Set-Content: Die PowerShell-Methode zum Schreiben in eine Datei