将CSV数据导入CSV

时间:2012-06-15 13:30:40

标签: powershell

我是Powershell的新手并且有一个简单的问题。 我正在使用的输出来自CSV格式的sysinternals.com autorunsc工具。 该脚本的目的是在CSV中搜索某些二进制名称。

导入按预期进行,但我无法写入我的过滤信息

$IOCFiles = "es.dll", "null.sys" 

$data = import-csv "D:\autoruns.csv" -header("Entry_Location","Entry","Enabled","Category","Description","Publisher","Image_Path","Launch_String","MD5","SHA-1","SHA-256") 

foreach ($K in $data)  
{ 
    foreach($element in $IOCFiles) 
    { 
        if ($k.Image_Path -match $element) 
        { 
            $hits = $k.Entry + "          " + $K.Publisher + "          " + $K.Image_Path 
            $hits | export-csv -Path c:\HITS.csv -NoTypeInformation
        } 
   } 
}

以上内容不会生成CSV中的实际数据,而是生成值的长度信息。 有许多很好的导入/导出示例,但我没有看到导入/导出列的一个。我必须使用列导入方法,因为我正在使用类似的东西。

谢谢!

1 个答案:

答案 0 :(得分:4)

Powershell让这件事变得非常简单:

Import-csv "D:\autoruns.csv" -header("Entry_Location","Entry","Enabled","Category" |
  Where-Object{($IOCFiles -match $_.Image_Path) -ne $null} | 
  Select-Object Entry, Publisher, Image_Path |
  Export-CSV -Path c:\HITS.csv -NoTypeInformation

我现在还没有时间对它进行测试,因此可能存在一些问题,但这就是它的要点。