问候光荣同志CSV,Powershell的行数与大量文本文件
我再次需要借用你的才华最大化我的解决方案能力。
我必须使用powershell遍历大量文本文件(某些情况下为20 GB)的目录,提取文件名,行计数和创建日期,然后将该信息输出到csv中。
这是到目前为止我的代码:
$fileEntries = [IO.Directory]::GetFiles("T:\frg\working");
foreach($fileName in $fileEntries)
{
$count = 0
$filedate = (Get-Date).Date
$reader = New-Object IO.StreamReader $filename
while($reader.ReadLine() -ne $null){$count++}
$reader.close()
#Get-Content $filename | %{$lines++}
[Console]::Writeline($filename+" "+$count+" "+ $filedate);
}
一开始日期只是一个临时填料,直到我能得到的文件创建日期。
目前,它输出类似于:
T:\frg\working\file1.txt 90055 03/06/2014 00:00:00
T:\frg\working\file2.txt 6419616 03/06/2014 00:00:00
但对我的生活我不能管这个成功CSV文件。
我试着设置一个自定义属性的对象并输出到该对象,但它说管道是空的。
巨大的文件大小阻止使用Import-csv选项(将20GB导入内存导致一些问题)。如果我可以通过扩展过滤,它也会很整洁,但如果不能,我可以解决它。
任何指针将不胜感激,谢谢你提前。
由于答案的彻底性,标记为答案,但是所有这些提交都有效。 –