Powershell中的反斜杠

时间:2014-06-23 20:29:27

标签: windows powershell quoting

为什么-split参数的字符串需要两个反斜杠,而-join参数的字符串只需要一个反斜杠?反引号是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

2 个答案:

答案 0 :(得分:9)

默认情况下,

-split在正则表达式上拆分。所以这是正则表达式,需要逃避反斜杠。你可以告诉PowerShell不要像这样使用正则表达式:

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

-join只是将您提供的任何字符用作分隔符,以便在要连接的字符串之间插入。

答案 1 :(得分:1)

-split接受正则表达式,其中反斜杠是特殊字符,因此需要进行转义