Ich habe eine Textdatei, die ich lese und ich muss die Werte von bekommen.String trim und split
Beispiel Textdatei:
[Site 01] DBServer=LocalHost DBName=Database01 Username=admin Password=qwerty [Site 02] DBServer=192.168.0.10 DBName=Database02 Username=admin Password=qwerty
Derzeit mein Code der Datei durchliest und legt für jede Zeile jeder jeweils als Array-Eintrag DBServer=
, die gefunden wird und diese Textdatei viele Seiten haben kann:
$NumOfSites = Get-Content $Sites |
Select-String -Pattern "DBServer=" -Context 0,3
$i = 0
$NumOfSites | ForEach-Object {
$svr = $NumOfSites[$i] -isplit "\n" |
% { ($_ -isplit 'DBServer=').Trim()[1] }
$db = $NumOfSites[$i] -isplit "\n" |
% { ($_ -isplit 'DBName='.Trim())[1] }
$uid = $NumOfSites[$i] -isplit "\n" |
% { ($_ -isplit 'Username='.Trim())[1] }
$pswd = $NumOfSites[$i] -isplit "\n" |
% { ($_ -isplit 'Password='.Trim())[1] }
$i = $i+1
}
Ich kann nicht jedes Attribut richtig ohne einige zusätzliche Leerzeichen oder etwas schön wie eine String-Variable zu trennen. Ich muss nur die Informationen extrahieren, um sie in eine SQL-Verbindungslinie als Variablen aus dem Format des Dateibeispiels zu setzen, das ich habe.
Der von Ihnen gepostete Code ist unvollständig. Bitte stelle sicher, dass dein Code ein [mcve] ist, wenn du eine Frage stellst. Außerdem scheinen einige der Klammern falsch zu sein, obwohl das den Code nicht brechen sollte. Das Analysieren von INI-Dateien ist ein ziemlich gut gelöstes Problem. Bitte machen Sie einige [Forschung] (https://stackoverflow.com/search?q=%5Bpowershell%5D+parse+ini). –