计算csv文件中的行,并通过PowerShell中的CreationDate计算

时间:2016-11-20 23:38:12

标签: powershell csv

我有PowerShell来搜索服务器并导出一堆包含两列{c}个BaseNameCreationDate的csv文件。
每个csv文件都被命名为每种文件类型(documenttype1,documenttype2等)。

我要做的是让脚本记录每个csv并按年计算文件数量并将它们转储到主文件中。

希望我会有一个主文件,告诉我每年我有多少文档类型。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

foreach ($Type in Get-ChildItem *.csv)
{
    Import-Csv $Type |
    Group-Object -Property { (Get-Date $_.CreationTime).Year } |
    Select-Object @{N='Type'; E={$type.BaseName}}, Name, Count | 
    Export-Csv Master.csv -Append -NoTypeInformation
}

我假设创建时间,因为创建 date 不是文件的属性,但是如果你计算/命名了它,你需要编辑。除此之外,它适用于使用

生成的.csv文件
gci -file |group extension |%{ $_.Group|select basename,creationtime|epcsv "d:\t\$($_.group[0].extension).csv" }

生成类似

的输出
Type Name Count
---- ---- -----
.exe 2009     2
.exe 2010     2
.exe 2007     2
.exe 2011    15
.exe 2015    18
.exe 2016    23
.exe 2012    26
.exe 2013    32
.exe 2014    39
.gz  2016     1
.gz  2014     1
.gz  2012     3
.gz  2015     4
...