在大型目录结构上运行时出现元数据导出错误

时间:2017-08-24 11:57:14

标签: windows file powershell directory metadata

此脚本将PowerShell中的基本文件元数据导出到.csv。

PS K:\> Get-childitem -recurse -file | select-object length,lastwritetime,fullname | export-csv filelist.csv -notypeinformation

它在10-20K文件的简单目录结构上运行良好,但是当我在500K +复杂的多级目录结构文件上运行时,它会冻结或给我错误:

At line:1 char:1
+ Get-childitem -recurse -file | select-object length,lastwritetime,ful ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (0:Int32) [], RuntimeException
    + FullyQualifiedErrorId : CallDepthOverflow

这是-recurse或其他问题吗?使用PowerShell 5 1(主要次要)。

1 个答案:

答案 0 :(得分:2)

测试以查看文件路径的长度。

如果文件路径超过248个字符......这可能是您收到错误的原因。

要查看是否有超过248个字符的回复

Get-childitem "filepath" -recurse  | % {
    $filepath = $_.FullName
    $charactercount = ($filepath | Measure-Object -Character).Characters
    If ($charactercount -gt 248){write-host $filepath}
}