Ich bin ein Anfänger bei der Verwendung von Powershell. Ich arbeite an einem Server mit Powershell v2.0.Powershell v2.0 extrahieren Teilzeichenfolge
Ich habe einen Valutatag einer Teil ($ d1) zugeordnet: 2016-06-08-07.30.03.119000-240
ich nur das Datum/Zeit Teil erhalten möchten: 2016-06-08- 07.30.03
Ich konnte Folgendes tun, um zu bekommen: 2016-06-08-07. 30. 03
echo $d1 > $tempfile
$d1a = (Get-Content $tempfile | %{ $_.Split('.')[0]; })
$d1b = (Get-Content $tempfile | %{ $_.Split('.')[1]; })
$d1c = (Get-Content $tempfile | %{ $_.Split('.')[2]; })
$d1 = "$d1a.$d1b.$d1c"
Gibt es eine Möglichkeit, den gewünschten Wert ohne die zusätzlichen Leerzeichen zu erhalten?
Ich habe versucht:
$d1 = ($d1a, $d1b, $d1c -join ".")
aber das gibt:.. System.Object [] System.Object [] System.Object []
Jede Hilfe wird geschätzt.
Danke, das funktionierte! Ich hatte zuvor Substring ausprobiert, aber immer Fehler bekommen, daher musste ich meine Syntax falsch haben. –
Das funktionierte gut aus der Powershell-Befehlszeile, aber wenn ich das Skript ausführte, funktionierte es, aber auch den folgenden Fehler ausgelöst: –
'Methode Aufruf fehlgeschlagen, weil [Microsoft.PowerShell.Commands.MatchInfo] keine Methode namens 'enthält Teilzeichenfolge '. Bei E: \ DBA \ Skripte \ SchedTasks \ Db2diag \ diagAnalysis_Extract.ps1: 69 Zeichen: 21 + $ d1a = $ d1.Substring <<<< (0, 19) + CategoryInfo: InvalidOperation: (Teilzeichenfolge: String) [], RuntimeException + FullyQualifiedErrorId: MethodNotFound' –