/ / Backslashes in Powershell - Fenster, Powershell, Zitat

Backslashes in Powershell - Windows, Powershell, Zitat

Warum ist die Zeichenfolge für den Parameter -splitBenötigen Sie 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?

$path = "C:foldertestunit1testingresultsreport.txt"

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

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

Antworten:

9 für die Antwort № 1

-split Teilt standardmäßig eine Regex. Es ist also die Regex, die einen Backslash umgehen muss. Sie können PowerShell anweisen, keine Regex wie folgt zu verwenden:

$path -split "",-1,"SimpleMatch"

-join nimmt nur die Zeichen, die Sie angeben, als Trennzeichen zwischen den zu verbindenden Strings.


1 für die Antwort № 2

-split akzeptiert einen regulären Ausdruck, bei dem der umgekehrte Schrägstrich ein Sonderzeichen ist. Daher muss er escaped sein