簡體   English   中英

在 Windows 中查找文件夾的實際大小

[英]Finding actual size of a folder in Windows

在我的 Windows 計算機家庭桌面上,我右鍵單擊屬性下的 C:\\Windows 文件夾,它顯示:

在此處輸入圖片說明

如果我使用Microsoft sysinternals提供的du工具

du C:\Windows

這產生

Files:        77060
Directories:  21838
Size:         31,070,596,369 bytes
Size on disk: 31,151,837,184 bytes

如果我以管理員身份運行相同的命令

Files:        77894
Directories:  22220
Size:         32,223,507,961 bytes
Size on disk: 32,297,160,704 bytes

以管理員身份運行 Powershell ISE 后,我從這個SO 答案中運行了以下 powershell 片段

"{0:N2}" -f ((Get-ChildItem -path C:\InsertPathHere -recurse | Measure-Object -property length -sum ).sum /1MB) + " MB"

哪個輸出

22,486.11 MB

以管理員身份運行的命令提示符中的以下SO 答案中的 C# 代碼返回:

35,163,662,628 bytes

盡管關閉它仍然顯示與 Windows 資源管理器不同。 因此,這些方法都沒有返回目錄的實際大小。 所以我的問題是這個。

是否有腳本或編碼方法可以返回 C:\\Windows 的實際文件夾大小

如果無法檢索文件夾大小,是否可以通過編程方式檢索 Windows 資源管理器顯示的信息?

當談到 Windows 時,他們有一種奇怪的實際存儲數據的方式,例如,雖然一個文件的大小可能為 1mb,但當存儲在磁盤上時,它可能會是 1.1mb,原因是它包含指向實際數據的目錄鏈接文件在光盤上,並且估計大小不包括可能的附加數據窗口存儲以及相關數據。

現在您可能在想,這很好,但是當您從管理員查看文件大小時,您如何解釋巨大的大小變化,這是一個很好的問題,因為這是與文件一起存儲的另一個額外的標頭/元數據只有管​​理員才能看到。

回到你關於告訴文件的實際大小的原始問題,對於 Windows 來說很難說,因為它與所需文件一起使用的附加數據量很大,但出於可讀性目的,或者如果你正在使用它對於某種形式的編碼,我建議使用 admin 命令查找磁盤上的大小,不是因為文件似乎已達到其最大大小(對我而言是),而是因為通常當您要傳輸時,這可能是您可以使用的最可靠的數字,因為一旦您傳輸文件,一些額外的數據將被刪除或更改,並且您已經知道文件大小差異的可能變化。

此外,您還必須考慮硬盤驅動器格式(NTFS、fat32),因為它是如何分段文件的,因為如果文件很大,也可能會稍微改變文件大小。 1GB++

希望這能幫助 mate,因為我們都知道在嘗試獲取信息時窗口是多么美妙(嘆氣)。

歧義和差異與連接、軟鏈接和硬鏈接(如果您來自 *nix 世界,則類似於符號鏈接)有很大關系。 最大的問題:幾乎沒有 Windows 程序能很好地處理硬鏈接——它們看起來(而且確實是)“普通”文件。 Windows 中的所有文件都有 1 個以上的硬鏈接。

您可以使用Sysinternals Disk Usage 實用程序獲得“真實”磁盤存儲的指示

> du64 c:\\windows

我的機器上的產量:

DU v1.61 - Directory disk usage reporter
Copyright (C) 2005-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Files:        204992
Directories:  57026
Size:         14,909,427,806 bytes
Size on disk: 15,631,523,840 bytes

這比右鍵單擊並在屬性對話框中獲取大小時看到的小得多。 默認情況下, du64不會對具有多個硬鏈接的文件進行雙重計數——它返回已使用的真實磁盤空間。 這也是為什么這個命令需要一段時間來處理。 您可以使用-u選項讓磁盤使用實用程序天真地計算所有鏈接的大小。

> du64 -u c:\windows

DU v1.61 - Directory disk usage reporter
Copyright (C) 2005-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Files:        236008
Directories:  57026
Size:         21,334,850,784 bytes
Size on disk: 22,129,897,472 bytes

這要大得多——但它是重復計算的文件,其中有多個鏈接指向相同的存儲空間。 希望這可以幫助。

暫無
暫無

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

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