2016-08-17 75 views
0

我設法通過PowerShell腳本在收集一組服務器磁盤信息時生成csv,但csv文件上的結果輸出需要一些數據信息。PowerShell csv字符替換

下面

將是裁判的腳本:

foreach($pc in $comp) 
$diskvalue += Get-WmiObject @Params | Select @{l='drives';e='DeviceID'}, @{l='server',e='SystemName'}, @{Name=」size(MB)」;Expression={「{0:N1}」 -f($_.size/1mb)}}, @{Name=」freespace(MB)」;Expression={「{0:N1}」 -f($_.freespace/1mb)}}, @{Name=」UsedSpace(MB)」;Expression={「{0:N2}」 -f(($_.size - $_.FreeSpace)/1mb)}} 
    $diskvalue | Export-Csv C:\disk_info\DiskReport.csv -NoTypeInformation 

的 「驅動器」 輸出CSV文件列將包含:

C:

然而,我想刪除數據輸出後面的「:」。

Ç

回答

0

變化:

@{l='drives';e='DeviceID'} 

@{l='drives';e={"$($_.DeviceID)".Trim(": ")} 

Trim(": ")將從DeviceID字符串中刪除任何空白和字符:

+0

工作很好,謝謝; D, –

+0

還有一個問題,結果「UsedSpace」包含十進制值,我可以刪除它或四捨五入到整數? –

+0

將表達式中的「{0:N2}」更改爲「{0:N0}」('N之後的整數是*精度說明符*)。 <.5將向下舍入,> = .5將向上舍入 –