如何使用 PowerShell 在 Windows 10 上尋找空資料夾

若要在 Windows 10 上尋找空資料夾,請執行遞歸的 Windows PowerShell 命令,該命令會檢查每個資料夾的目前內容,並在找不到任何內容時列印完整路徑。此掃描為唯讀操作:它會列出候選資料夾,但不會刪除或移動它們。盡可能選擇一個特定的起始資料夾,然後在刪除任何內容之前檢查每個結果。

什麼才算空資料夾?

本指南採用嚴格的定義:當一個資料夾不包含任何檔案和子資料夾時,它才被視為空資料夾。即使子資料夾本身不包含任何內容,如果該子資料夾包含另一個資料夾,則該資料夾也不被視為空資料夾。此指令會檢查每個資料夾的直接條目,包括隱藏條目,因此隱藏的檔案或系統項目會阻止符合。

Windows PowerShell 的Get-ChildItem指令可以遞歸枚舉目錄,而 .NET 的指令則DirectoryInfo.GetFileSystemInfos()傳回單一目錄中的檔案和子目錄。掃描操作結合了這些功能,並且僅報告條目數為零的路徑。有關 Get-ChildItem和DirectoryInfo.GetFileSystemInfos 的文檔,請參閱 Microsoft 的Windows PowerShell 5.1 參考文檔。

使用 PowerShell 尋找空資料夾

  1. 選擇搜尋位置。選擇一個資料夾或磁碟機作為掃描根目錄。例如,您可以將其設定C:\Users\YourName\Desktop為桌面資料夾、D:\SteamLibrary遊戲庫或C:\整個系統磁碟機。將 `<Windows 帳戶資料夾名稱>` 替換YourName為您的 Windows 帳戶資料夾名稱。如果路徑包含空格,請將其放在單引號內。
  2. 開啟 Windows PowerShell。選擇“開始”,輸入PowerShell“PowerShell”,即可開啟 Windows PowerShell。對於您已能存取的資料夾,通常只需開啟一個標準視窗即可。如果您需要檢查受保護的位置並擁有管理員權限,請以滑鼠右鍵按一下搜尋結果,然後選擇「以管理員身分執行」。提升權限可以授予對某些資料夾的存取權限,但並不能繞過所有權限限制。
Windows 10 開始搜尋時,選取 Windows PowerShell 並顯示「以管理員身分執行」。
從「開始」功能表開啟 PowerShell;僅當掃描需要您有權使用的權限時才使用提升權限的視窗。
  1. 設定掃描路徑並運行清單。在第一行中,將範例路徑變更為您選擇的資料夾路徑。然後將完整的命令貼到 PowerShell 中並按 Enter 鍵。
Windows PowerShell 窗口,掃描根目錄設定為 D:\SteamLibrary。
選擇$root要掃描的資料夾或磁碟機。
$root = 'D:\SteamLibrary'
Get-ChildItem -LiteralPath $root -Directory -Recurse -Force |
    Where-Object { $_.GetFileSystemInfos().Count -eq 0 } |
    Select-Object -ExpandProperty FullName

PowerShell 會為每個符合的資料夾列印一個完整路徑。對於其他位置,只需編輯指派給 `.path` 的值即可$root。例如'C:\Users\YourName',`/ 'D:\My Games'usr/local/bin`、`/usr/local/bin` 或 `/usr/local/bin` 'C:\'。選擇整個磁碟機進行掃描可能會花費更長時間,因為它必須列舉許多目錄。

PowerShell 視窗範例,顯示了遞歸 empty-folder 指令和範例資料夾路徑。
所示路徑是該指令可以傳回的完整路徑輸出的範例。
  1. 在檔案總管中檢查每個路徑。複製結果,將其貼上到檔案總管的網址列中,並檢查資料夾的位置和用途。如果確定可以安全刪除,請在檔案總管中手動刪除該資料夾。 PowerShell 指令本身不具備刪除操作功能。
檔案總管開啟一個資料夾,但內容窗格為空。
依完整路徑開啟候選對象,確認其不再需要後再刪除。

了解掃描內容

-Directory此命令將遞歸清單範圍限制在資料夾內,-Recurse搜尋其子資料夾,並-Force包含普通清單可能遺漏的隱藏項目或系統項目。-LiteralPath它將選定的根目錄視為字面路徑,從而避免通配符解釋,這也是微軟推薦的遞歸路徑處理方式。根資料夾本身就是搜尋的邊界;該指令會報告其下的空資料夾,而不是根目錄本身。

目錄符號連結會出現在遞歸清單中,但 Windows PowerShell 5.1 預設不會追蹤它們到目標位置。如果需要檢查連結位置,請單獨掃描其目標路徑。-Force此外,該開關不會覆蓋安全限制,因此如果出現「存取被拒絕」訊息,則表示部分掃描無法完成。如果您的帳戶擁有權限,則以管理員身分執行視窗可能會有所幫助,但出現錯誤的掃描結果並不完整。

當結果出現時—或沒有出現時

  • 未顯示任何路徑,也沒有錯誤: PowerShell 未在所選根目錄下找到空的子資料夾。根目錄本身不包含在內。
  • PowerShell 提示找不到路徑:請檢查磁碟機代號和帳號資料夾名稱,並確認磁碟機已連線。路徑中包含空格時,請使用單引號將其括起來。
  • 如果出現「存取被拒絕」訊息:請將這些位置的搜尋結果視為不完整。不要假設未列出的受保護資料夾為空。
  • 清單中顯示了一個資料夾,但它看起來很重要:請先保留它,直到您確定是由哪個應用程式或 Windows 元件建立的。空資料夾可以用於存放軟體狀態、更新、同步或將來需要的檔案。

要進行廣泛搜索,請從用戶擁有的資料夾開始,僅在必要時才擴大範圍。不要因為掃描結果顯示沒有找到任何項目就刪除 Windows、Program Files 或應用程式資料中的候選資料夾。路徑提示您查看該資料夾,而不是建議您將其刪除。

留下評論

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher 將照片轉換為繪畫、素描和卡通

使用 FotoSketcher Studio 將照片轉換成繪畫、鉛筆素描或卡通。學習如何選擇效果、調整預覽、保存作品。

使用音訊標識符詳細分析和識別音訊文件

使用音訊標識符詳細分析和識別音訊文件

了解音訊標識符揭示的位元率、編碼器和標籤訊息,其傳統工作流程如何運作,以及當前哪些工具可以檢查文件或識別歌曲。

我的照片索引:一款適用於 Windows 的開源照片管理器。

我的照片索引:一款適用於 Windows 的開源照片管理器。

My Photo Index 是一款舊版 Windows 相片目錄管理工具,用於標記、評分和瀏覽本機影像。請查看其文件功能、相容性限制以及一個維護良好的替代方案。

使用屬性變更器變更檔案和資料夾屬性、日期和時間

使用屬性變更器變更檔案和資料夾屬性、日期和時間

學習如何使用屬性變更器安全地編輯 Windows 檔案屬性和時間戳記、更新 JPEG EXIF 照片日期以及預覽批次變更。

如何在 Windows 10 中為每個顯示器設定不同的桌布

如何在 Windows 10 中為每個顯示器設定不同的桌布

為每個 Windows 10 顯示器設定單獨的壁紙,識別顯示器,調整影像適應度,並解決缺少顯示器選擇的問題。

pViewer:一款極簡圖像檢視器和漫畫閱讀器

pViewer:一款極簡圖像檢視器和漫畫閱讀器

了解 pViewer 的功能、照片和漫畫模式的工作原理、應該下載哪個 Windows 版本,以及舊版和重寫版之間的差異。

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

如何在 Windows 7 和 8 中使用快速鍵切換到下一個桌面背景

設定 Windows 7 或 8 投影片放映,建立一個小型 VBScript 快捷方式,並指派鍵盤熱鍵來切換到下一張桌布。

NeoDownloader:設定參數並從網站批量下載圖片

NeoDownloader:設定參數並從網站批量下載圖片

學習如何建立 NeoDownloader 專案、選擇爬取範圍、設定映像過濾器和目標位置,以及查看批次下載。

XnConvert:批次應用特效和轉換影像格式

XnConvert:批次應用特效和轉換影像格式

使用 XnConvert 可以批次套用特效、調整照片大小和轉換影像格式。選擇輸出設定、預覽編輯效果並保護您的原始文件。

使用 ManicTime 追蹤工作時間和電腦使用情況

使用 ManicTime 追蹤工作時間和電腦使用情況

了解 ManicTime 如何追蹤應用程式使用情況、活躍時間和空閒時間以及文檔,然後將您的活動歷史記錄轉換為專案標籤和時間表。