Ich habe folgenden Inhalt in einer Konfigurationsdatei (sample.cfg),
%Vor% Ich versuche, jeden Wert nach dem :
zu speichern, indem ich split
in PowerShell verwende. aber ich kann keine Ausgabe erzeugen.
Kann mir jemand sagen, wie man PowerShell split
für das obige Problem verwendet?
Sie können den Inhalt der Datei mit Get-Content
lesen, dann jede Zeile durch ForEach-Object
leiten, dann den Split-Befehl in jeder Zeile verwenden und das zweite Element im Array wie folgt verwenden:
Ausgabe
%Vor%Aktualisieren
Ich bevorzuge den Ansatz von @AnsgarWiechers, aber wenn Sie wirklich spezifisch benannte Werte benötigen, können Sie eine Hashtabelle erstellen und den Namen durch den Wert ersetzen:
%Vor%Ausgabe
%Vor%Ich nehme an, Sie wollen nicht nur die Zeilen teilen, sondern Schlüssel-Wert-Paare erstellen. Das könnte so erreicht werden:
%Vor% Sie können auch das ConvertFrom-StringData
Cmdlet:
Die Operation -replace
ist notwendig, weil ConvertFrom-StringData
erwartet, dass Schlüssel und Wert durch =
getrennt werden. Wenn Sie das Trennzeichen in der Konfigurationsdatei von :
nach =
ändern könnten, könnten Sie ConvertFrom-StringData $_
ohne Ersetzung verwenden.
Tags und Links split powershell powershell-v2.0