如何查找仅包含一个文件的目录?

dja*_*fan 2 powershell perl

有谁知道如何在数千个子目录中搜索仅包含 1 个文件且不超过 1 个文件的所有目录?

关于使用什么工具或简单的代码片段的任何建议?

小智 11

在 PowerShell 中,这是一种方法:

PS> Get-ChildItem -recurse | `
     Where {$_.PSIsContainer -and `
           @(Get-ChildItem $_.Fullname | Where {!$_.PSIsContainer}).Length -eq 1}
Run Code Online (Sandbox Code Playgroud)

$_.PSIsContainer返回true用于显示目录和假的文件。的@()语法确保了表达式的结果是一个数组。如果其长度为 1,则该目录中只有一个文件。该示例还使用了嵌套管道,例如Get-ChildItem $_.Fullname | Where {...}在第一个 Where 脚本块中。