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