2013-07-10 136 views
2

我正在使用32位版本的PowerShell並通過PowerGUI腳本編輯器運行它。將文件讀入行分隔數組

一切在線似乎認爲Get-Content作爲一個數組返回文件;然而,

$lines = Get-Content -Path $xmlFilename 
Write-Host $lines.GetType() 

輸出

System.String 

我知道如何使用內置.NET類型做到這一點;有沒有PoweShell v2.0這樣做的方法?

回答

3

您確定$ xmlFilename文件有多個由n或`r`n分隔的行嗎?

如果該文件只包含一個單一的線,你可以做到這一點:

$lines = @(Get-Content -Path $xmlFilename) # this return [object[]] type 

$lines = ,(Get-Content -Path $xmlFilename) 

$lines = [string[]](Get-Content -Path $xmlFilename) # this return [string[]] type 
+0

我可能沒有明確。我的問題中的代碼目前正在返回字符串,這不是我想要的。我想要一個在文件中每行有1個條目的數組。 – Fred

+0

@Fred你確定$ xmlFilename文件有多個由n或rn分隔的行嗎? –

+0

這就是C.​​B.的問題,不敢相信我沒有想到這一點。我在IE中打開了它,它自動生成。在記事本++中打開它講述了一個不同的故事......如果你想創建一個答案,我會將其標記爲已接受。 – Fred