題 如何在Windows中查找最大的文件夾(按文件數)


我的Windows 7搜索在一台計算機上非常慢,另一台則很快。我發現一台計算機有90,000個文件索引,而另一台計算機有150萬個。

所以我想按文件數找到最大的文件夾,因為有些文件必然是無關緊要的,並將它們排除在外。

我有工具可以按數據大小查找最大的文件夾,但不能查找其中的文件數。有任何想法嗎?


4
2018-06-30 00:20


起源




答案:


如果您使用的是Windows XP,則可以使用 文件夾大小 shell-extension,它為您提供了幾個列,您可以將它們添加到資源管理器中以顯示文件夾的大小,以及其中包含的文件/文件夾/數字,從而允許您在資源管理器中查看和排序它們。

不幸的是,Vista和更高版本已經刪除了文件夾大小和類似程序使用的API功能,因此它們不再起作用。

相反,您將不得不使用非shell擴展。幸運的是,有幾個程序可以很好地可視化文件系統上的空間使用情況。

他們中的大多數都有一些不同的模式,包括文本列表/樹(如在資源管理器中), 餅狀圖,和 樹形圖,其中文件和子目錄由正方形或矩形表示。除了大小之外,應該有一個選項來顯示文件/文件夾的數量,通常是在文本列表/樹模式下。有時,要獲取文件/文件夾的數量,您需要選擇文件夾並查看其屬性(這不太方便,但仍比在資源管理器中手動更容易)。

以下是一些最受歡迎的(一些免費軟件,其他共享軟件):


7
2018-06-30 00:29



Yup,WinDirStat是最快最容易的,因為默認視圖在列表中有項目數。 - Synetech
WinDirStat也是我的最愛。 - KCotreau


而另一個, TreeSize免費。      (在此鏡頭中,目錄名為0-F。)

enter image description here


3
2018-06-30 02:53





我使用一個名為的程序 windirstat 它掃描驅動器上的所有文件和文件夾,並提供一個很好的圖形顯示,顯示哪些文件或文件夾使用的空間最多。然後,您可以移動或刪除不需要的文件並整理磁盤。


1
2018-06-30 00:57





按文件數量(包括子文件夾)獲取文件夾排序列表的一種快捷方法是:

PowerShell 3+

$a=@{}
Get-ChildItem 'D:\' -Recurse -Directory -ErrorAction Ignore | Foreach {
    $a[$_.Fullname] = (Get-ChildItem $_.Fullname -Recurse -File -ErrorAction Ignore).Count
} 
$a.GetEnumerator() | Sort Value -Descending | Format-List

示例輸出

enter image description here

對於那些對它如何工作感興趣的人

  • Get-ChildItem 'D:\' -Recurse -Directory 循環遍歷給定目錄的所有子文件夾。根據需要更改路徑
  • 在每個子文件夾中使用 (Get-ChildItem $_.Fullname -Recurse -File).Count 計算包含子文件夾中文件的文件數。文件夾本身不算數。只有文件。
  • 對於每個子文件夾,添加一個新的哈希表條目 $a[$_.Fullname] = myValue 以當前目錄作為名稱。作為價值添加我們之前提到的文件計數
  • 完成所有工作後,使用 $a.GetEnumerator() 將哈希表分解為多個項目並將它們傳遞給a Sort-Object 命令按值和升序對哈希表進行排序

1
2017-09-09 13:49