Perché la stringa per il parametro -splitrichiedono due barre rovesciate mentre la stringa per il parametro -join richiede una sola barra rovesciata? Il backtick è il personaggio di escape in Powershell. Cosa fa per te una barra rovesciata che precede un personaggio?
$path = "C:foldertestunit1testingresultsreport.txt"
$path -split "\" -notlike "*test*" -join ""
http://powershell.com/cs/blogs/tips/archive/2014/06/17/fun-with-path-names.aspx
risposte:
9 per risposta № 1-split
si divide su una regex per impostazione predefinita. Quindi è la regex che richiede di sfuggire a una barra rovesciata. Puoi dire a PowerShell di non usare un regex in questo modo:
$path -split "",-1,"SimpleMatch"
-join
sta semplicemente prendendo tutti i caratteri che fornisci da usare come delimitatore da incollare tra le stringhe che vengono unite.
1 per risposta № 2
-split accetta un'espressione regolare in cui la barra rovesciata è un carattere speciale, quindi deve essere evasa