如何确保列数与匹配的Powershell Import-CSV命令行开关中的标头定义相匹配

时间:2014-12-19 18:12:10

标签: powershell

以下是代码的简写表示

Import-Csv -Path $file.FullName -Header Name, Occupation, Department | 
foreach-object{ //perform some string validations}

我遇到的问题是,如果CSV文件每行没有正好3个值,我需要抛出错误。如果每行有4个值而不是3个,则脚本不会出错。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

这样的事,也许?

Import-Csv -Path $file.FullName -Header Name, Occupation, Department, Error | 
foreach-object{ 
                if ($_.Error)
                  { Throw "Invalid file format" }
              }

答案 1 :(得分:0)

我最终还是坚持了下去。不知道是否有更干净的方法来做到这一点。可能是数组长度的计数,因为我知道期望有多少值?

if (($_.Error) -or (!($_.Department))) { Throw "Invalid file format" }