Обратные косые черты в Powershell
почему строка для параметра-split требует двух обратных косых черт, а строка для параметра-join требует только одной обратной косой черты? Backtick-это escape-символ в Powershell. Что делает обратная косая черта, предшествующая персонажу, для вас?
$path = 'C:foldertestunit1testingresultsreport.txt'
$path -split '' -notlike '*test*' -join ''
http://powershell.com/cs/blogs/tips/archive/2014/06/17/fun-with-path-names.aspx
2 ответов
-split
распадается на регулярное выражение по умолчанию. Таким образом, именно регулярное выражение требует избежания обратной косой черты. Вы можете сказать PowerShell не использовать регулярное выражение так:
$path -split '\',-1,'SimpleMatch'
-join
просто берет любые символы, которые вы предоставляете, чтобы использовать в качестве разделителя, чтобы придерживаться между соединяемыми строками.
-split принимает регулярное выражение, где обратная косая черта является специальным символом, поэтому его нужно экранировать