問候光榮同志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導入內存導致一些問題)。如果我可以通過擴展過濾,它也會很整潔,但如果不能,我可以解決它。
任何指針將不勝感激,謝謝你提前。
由於答案的徹底性,標記爲答案,但是所有這些提交都有效。 –