2014-06-23 21 views
7

Warum benötigt die Zeichenfolge für den Parameter -split zwei umgekehrte Schrägstriche, während die Zeichenfolge für den Parameter -join nur einen umgekehrten Schrägstrich erfordert? Der Backtick ist der Escape-Charakter in Powershell. Was bewirkt ein umgekehrter Schrägstrich vor einem Zeichen für Sie?Backslashes in Powershell

$path = 'C:\folder\test\unit1\testing\results\report.txt' 

$path -split '\\' -notlike '*test*' -join '\' 

http://powershell.com/cs/blogs/tips/archive/2014/06/17/fun-with-path-names.aspx

Antwort

9

-split Splits auf einem regulären Ausdruck standardmäßig entwertet werden. Es ist also die Regex, die einen Backslash umgehen muss. Sie können Powershell nicht sagen, eine Regex wie so zu verwenden:

$path -split '\',-1,'SimpleMatch' 

-join nur nehmen, was auch immer Zeichen, die Sie liefern als Trennzeichen zu verwenden, um zwischen den Saiten zu haften, die verbunden werden.

1

-split akzeptiert einen regulären Ausdruck, wo Backslash Sonderzeichen ist, so ist es müssen

Verwandte Themen