我需要将$ server的前缀添加到$ name。
$server = "\\server001"
$array | Select-Object @{Name = "Name"; Expression = {$_.name -replace "`$_.Name","\\\\`$server\\`$_.Name"}}
它不起作用,我该怎么办?
答案 0 :(得分:1)
如果您使用格式字符串,那会更简单:
$array | Select-Object @{Name = "Name"; Expression = {"$server\{0}" -f $_.name}}
答案 1 :(得分:0)
-replace
使用正则表达式查找匹配项。它不需要为替换而转义字符。你也用反引号逃避$,所以它不会尝试扩展变量。
"\\\\`$server\\`$_.Name"
应为此"$server\$($_.Name)"
变量以双引号字符串展开。但是,属性不会使用子表达式$()
。您的代码不清楚,但这似乎是问题的根源。