nemesis
Goto Top

Variableninhalt durch Variableninhalt ersetzten

Hi

stehe glaube ich gerade auf dem Schlauch...

$smbpath = \\Server\Freigabe
$fullpath = \\Server\Freigabe\Ebene1\Ebene2\Ebene3

$folderpath = $fullpath -replace $smbpath

$folderpath soll Ergebnis:

\Ebene1\Ebene2\Ebene3

Warum geht das bei Variablen mit UNC Pfaden wegen der \ nicht bzw wie löse ich das elegant ?
Kann mir jemand einen Tipp geben ?

Vielen Dank

Content-ID: 1103705808

Url: https://administrator.de/contentid/1103705808

Ausgedruckt am: 21.11.2024 um 13:11 Uhr

TK1987
Lösung TK1987 30.07.2021 aktualisiert um 13:23:13 Uhr
Goto Top
Moin,

Zitat von @nEmEsIs:
Warum geht das bei Variablen mit UNC Pfaden wegen der \ nicht bzw wie löse ich das elegant ?
Kann mir jemand einen Tipp geben ?
der -replace-Operator nutzt reguläre Ausdrücke; und da '\' ein Regex-Steuerzeichen ist, muss es eben escaped werden
$folderpath = $fullpath -replace [Regex]::Escape($smbpath)
oder alternativ einfach die Replace-Methode nutzen, die erlaubt kein regex
$folderpath = $fullpath.Replace($smbpath,"")  

Gruß Thomas
nEmEsIs
nEmEsIs 30.07.2021 um 13:34:13 Uhr
Goto Top
Hi Thomas

super vielen Dank!

Schönes Wochenende.