簡體   English   中英

PowerShell:查找子文件夾中沒有文件的文件夾

[英]PowerShell: Finding folders with no file in subfolders

由於明確性問題而無法將其刪除,因此問題已被重寫。

我有基於7數字代碼創建文件夾樹的腳本。 假設我們的號碼是YYYYYYY,那么我的文件夾層次結構將類似於(數字顯示文件夾的“層”)(很抱歉,我稱之為文件夾層,因為我不知道正確的術語)

  1. YYYYYxx(針對不同的項目,最多可能有100個文件夾)
  2. YYYYYYY(此層中的每個文件夾都具有相同的構造器,因為它始終包含單個項目)
  3. 子文件夾A
  4. 這個“層”有兩個文件夾
  5. 該“層”具有項目文件

“ Layers” 1-3,從來沒有文件。 文件可能只在第5層中。現在,我需要制作腳本來顯示哪個項目(第2層)中沒有文件,只有空文件夾。

PowerShell 3+具有Get-Child-Item的-Directory和-File參數。

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

如果甚至存在一個文件而沒有枚舉整個結構,則使用流水線來停止處理。

由於我不確定“空文件夾”是沒有子目錄的文件夾還是只有沒有文件的文件夾,因此我發布了另一種查詢可能性,即也考慮了文件夾中的子文件夾。 這應該返回所有空目錄:

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

GetFiles檢查目錄中的文件, GetDirectories檢查子目錄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM