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-Key: 1103705808

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

Printed on: April 19, 2024 at 09:04 o'clock

Member: TK1987
Solution TK1987 Jul 30, 2021 updated at 11:23:13 (UTC)
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
Member: nEmEsIs
nEmEsIs Jul 30, 2021 at 11:34:13 (UTC)
Goto Top
Hi Thomas

super vielen Dank!

Schönes Wochenende.