[PowerShell]顯示某資料夾的size

  • 6051
  • 0

[PowerShell]顯示某資料夾的size

前言
之前用.net要做到這個功能,我大概都是這樣做:

  1. 使用DirectoryInfo,讀取目標資料夾
  2. 透過GetFiles(),取得目標資料夾底下檔案,將所有檔案的size加起來。
  3. 透過GetDirectories(),取得目標資料夾底下,所有資料夾。
  4. 遞迴呼叫方法,這樣一層一層的將每一個資料夾底下的所有檔案size加起來。


這樣的方法,其實效能很差,加上使用遞迴,什麼時候會爆掉是一件很難說的事,畢竟資料夾可能真的有相當多層。

這個時候,PowerShell就提供了很不錯的方式來實作這個功能。(第一次寫PowerShell,如果有誤,請多指教)

Sample Code


$objFSO = New-Object -com  Scripting.FileSystemObject 
"size: " + "{0:N2}" -f ($objFSO.GetFolder("C:\Windows\Temp").Size/ 1MB) + " MB"

透過Scripting.FileSystemObject,我們可以輕易取得某一個Folder的資訊。(其實一行就搞定了。)

結果:

image


image
 

結論
這一篇沒什麼重點,只是順便Memo一下,有這麼簡單的方式可以直接讀取到某個資料夾的size,希望給有同樣需求的朋友們一個參考。


blog 與課程更新內容,請前往新站位置:http://tdd.best/