2017-02-14 98 views
0

由于清晰度问题而无法删除问题,因此重写问题。PowerShell:在子文件夹中查找没有文件的文件夹

我有脚本创建基于7数字代码的文件夹树。让我们假设我们的号码是YYYYYYY然后我的文件夹结构会是这样的(数字显示文件夹中的“层”)(对不起,叫它层,因为我不知道正确的术语)

  1. YYYYYxx(最多可以有100个文件夹为不同的项目)
  2. YYYYYYY(在这一层中的每个文件夹具有相同的structer更深,因为它总是由单个项目)
  3. 子文件夹
  4. 这个“层”,有两个文件夹
  5. 这层” “有项目文件

“图层”1-3,没有任何文件。文件可能只在第5层。现在我需要制作脚本来显示哪些项目(2层)没有文件,只有空文件夹。

回答

2

PowerShell 3+具有Get-Child-Item的-Directory和-File参数。

$L1withEmptyL2subfolder = dir $startFolder\*\* -Directory | 
    Where { !(dir $_ -Recurse -File | select -first 1) } 

如果即使存在一个文件而没有枚举整个结构,流水线也将用于停止处理。

0

因为我不确定“空文件夹”是没有子目录的文件夹还是只有没有文件的文件夹,所以我发布了另一个查询可能性,也就是文件夹中的子文件夹。 这应返回所有空目录:

dir \*\* | ? { $_.PsisContainer } | ? {$_.GetFiles().Count -eq 0 -and $_.GetDirectories().Count -eq 0} 

GetFiles检查目录中的文件,并GetDirectories检查子目录。

+0

总是有相同数量的文件夹,所以它对我来说非常重要。不过,我需要知道是否有任何文件在我的例子中的第2层的任何子目录。YYYYYYY – atilas1

相关问题