2015-06-22 49 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