我们有一个 ftp 服务器,上面有 30k+ 个目录和数十个子目录。很多文件夹都是空的。
我正在尝试编写一个 powershell 脚本,将列表导出到 CSV,但如果任何子目录中都没有项目,则将其从列表中排除。
有什么帮助吗?我的尝试没有奏效。
答案1
您可以使用-File
仅返回文件对象(并跳过空目录):
Get-ChildItem 'C:\folder\' -Recurse -File
答案2
进行常规操作Get-ChildItem
并使用以下方法进行过滤Where-Object
:
gci -recurse | ? {
-not ($_.Attributes -band [IO.FileAttributes]::Directory) `
-or `
(gci $_.FullName).Count -gt 0
}
方便的是,它似乎gci <file>
返回一个项目(文件本身),因此可以简化为:
gci -recurse | ? { (gci $_.FullName).Count -gt 0 }