我一直在使用下面的一段代碼來獲取磁盤使用率開始在一個特定的目錄:是否有更快速的方式從PowerShell中的特定目錄開始使用磁盤?
$usage = (Get-ChildItem $webRoot -recurse | Measure-Object -property length -sum)
$diskUsage = $usage.sum
的問題是,這需要很長的時間,只需右鍵單擊Windows中的目錄比較,看着物業。
我們有權訪問資源管理器用來獲取磁盤使用情況的功能嗎?還是有另一種方法比我一直使用的方法更快?
我也不確定如果在我的PS代碼正在搜索的區域中存在環形鏈接會發生什麼情況。我認爲它可能鎖定。
如果操作系統無法將其快速計算提供給PowerShell,那很奇怪。 – FrodoFraggins
我不認爲操作系統有更快的計算。對整個磁盤使用/釋放總空間的單個值將隨文件系統的更改而保持最新。但想象一下,如果操作系統試圖在文件系統的每個級別上都保留這些信息:假設您將一個文件更改爲5級目錄 - 這需要5次計算。 ...現在推斷出來的東西就像打開Visual Studio - 即使SSD無法處理! :) – northben