2012-08-07 25 views
0

我有一個可怕的大寫文本和重複的大文本文件。我使用PowerShell刪除重複項並將所有內容都設爲小寫。現在,我想把每個單詞的首字母大寫。爲此,我使用了以下內容;如何格式化Powershell Get-Culture cmdlet輸出?

$var = (Get-Content "C:\FilePath") 
(Get-Culture).TextInfo.ToTitleCase($Var) 

這個工程就像一個魅力,但正對每一行文本運行的一個巨大的BLOB字符串輸出去。我無法格式化,Select-Object,Sort,Export-Csv都未能幫助我。有沒有辦法阻止琴絃混合在一起?

回答

1

$var是一個數組,這樣你就可以處理它作爲一個數組:

$var = (Get-Content "C:\FilePath") 
foreach ($line in $var) { 
    (Get-Culture).TextInfo.ToTitleCase($line) 
} 
+0

工作就像一個魅力!雖然它通過空管錯誤。我認爲這是因爲我無法捕獲輸出流?無論如何,這是固定的,使其成爲一個變量。謝謝! – Steve 2012-08-07 17:22:12

0

出於性能方面的原因,我要再次保存到文本信息的引用(insted的調用get-文化的每一行)和在foreach循環中使用它:

$textInfo = (Get-Culture).TextInfo 
Get-Content C:\FilePath | Foreach-Object { $textInfo.ToTitleCase($_) }