此脚本将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(主要次要)。
答案 0 :(得分:2)
测试以查看文件路径的长度。
如果文件路径超过248个字符......这可能是您收到错误的原因。
要查看是否有超过248个字符的回复
Get-childitem "filepath" -recurse | % {
$filepath = $_.FullName
$charactercount = ($filepath | Measure-Object -Character).Characters
If ($charactercount -gt 248){write-host $filepath}
}