2015-06-22 137 views
1

我有一個CSV片狀一個下面給出,(一些細胞可以是空的,實際片我有由具有高達盤20),薩姆值輸入-CSV

ID name disk1 disk2 disk3 
001 abc 50 50 50 
002 def 100 100  
003 xyz 50 

我需要輸入這個片PowerShell腳本和每個記錄單獨添加所有三個「磁盤」字段並打印出來,就像下面給出的,只有總和就足夠了不需要ID或名稱字段,最好我需要一個函數來調用每個記錄返回總和

150 
200 
50 

嘗試這樣做,但迄今爲止沒有運氣

$coll = import-csv "C:\input.csv" 
foreach ($record in $coll) 
{ 
    for ($i=1; $i -lt 4; $i++) 
    { 
     [int]$totaldisk = @() 
     $diskname = "disk"+$i 
     $totaldisk += $record.$diskname 
    } 
    $totaldisk 
} 
+0

你到目前爲止試過了什麼?我建議從[Import-Csv](https://technet.microsoft.com/en-us/library/ee176874.aspx)開始,然後使用[foreach-object](http://blogs.technet.com/ b/heyscriptingguy/archive/2008/10/13/how-can-i-read-a-csv-file.aspx)來執行計算 – JGreenwell

+0

@jgreenwell我已經試過這個到目前爲止附加到帖子 – sureshv18

+0

當你說「no運氣「,你會得到什麼輸出? –

回答

2

看起來你真的很接近。你剛剛初始化$ totaldisk錯誤(並在錯誤的地方)。

$coll = import-csv "C:\input.csv" 
foreach ($record in $coll) 
{ 
    $totaldisk =0 
    for ($i=1; $i -lt 4; $i++) 
    { 

     $diskname = "disk"+$i 
     $totaldisk += $record.$diskname 
    } 
    $totaldisk 
} 
+0

我知道我已經完成了測量對象並選擇了,但我太累了,無法記住顯然,所以+1。 – JGreenwell

+0

度量對象的問題在於它查看對象內的屬性而不是對象內的屬性(如果有意義的話)。它可以將所有的disk1加在一起,等等,但不是disk1 + disk2 ... –

+0

是的,我必須太累了。 – JGreenwell