2017-02-14 133 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

相關問題