2013-03-07 117 views
1

我試圖在PowerShell中創建一個數組,然後將它加入到單個字符串中。這是我的代碼:加入分隔符忽略

$solutionRoot = "c:\temp" 
$libraryPaths = @(
    $solutionRoot + "\a", 
    $solutionRoot + "\b" 
) 

$joined = ($libraryPaths -join ",") 
$joined 

$joined2 = [string]::Join(",", $libraryPaths) 
$joined2 

然而,輸出是:

c:\temp\a c:\temp\b 
c:\temp\a c:\temp\b 

和有我的路徑(所希望的輸出是c:\temp\a,c:\temp\b)之間沒有分隔符。

我在做什麼錯?

回答

3

你並沒有真正從$libraryPaths開始。 試試這個:

$solutionRoot = "c:\temp" 
$libraryPaths = @(
    ($solutionRoot + "\a"), 
    ($solutionRoot + "\b") 
) 

$joined = ($libraryPaths -join ",") 
$joined 

$joined2 = [string]::Join(",", $libraryPaths) 
$joined2 
+1

謝謝,我不知道逗號操作符具有如此高的運算符優先級。如果你可以把這個解釋加到你的答案中,它會使它更好。 – Borek 2013-03-07 16:06:46

3

或者只是:

$libraryPaths = @(
    "$solutionRoot\a", 
    "$solutionRoot\b" 
)