此脚本将powershell中的基本文件元数据导出到.csv。
PS K:\> Get-childitem -recurse -file | select-object length,lastwritetime,fullname | export-csv filelist.csv -notypeinformation
它在10-20k个文件的简单目录结构上工作得很好,但是当我在500多个复杂的多级目录结构的文件上运行它时,它会冻结或给我错误:
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(大-小)。 最佳答案
测试文件路径的长度。
如果文件路径超过248个字符…这可能就是你犯错误的原因。
检查是否有超过248个字符的返回
Get-childitem "filepath" -recurse | % {
$filepath = $_.FullName
$charactercount = ($filepath | Measure-Object -Character).Characters
If ($charactercount -gt 248){write-host $filepath}
}
关于windows - 在大型目录结构上运行时,元数据导出错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45861011/