Powershell 2.0版本下的腳本:
1
2
3
4
5
6
7
8
9
10
11
12
<code><#</code>
<code>Script Function: get size of folder</code>
<code>Script Editor: Snail Yu</code>
<code>#></code>
<code>$directories</code><code>=</code><code>Get-ChildItem</code> <code>c:\windows </code><code>|where</code> <code>{</code><code>$_</code><code>.mode </code><code>-like</code> <code>"d*"</code><code>}</code>
<code>foreach</code> <code>(</code><code>$directory</code> <code>in</code> <code>$directories</code><code>){</code>
<code> </code><code>$files</code><code>=(</code><code>Get-ChildItem</code> <code>$directory</code><code>.fullname -Recurse -ErrorAction SilentlyContinue</code><code>|where</code> <code>{</code><code>$_</code><code>.mode </code><code>-like</code> <code>"-a*"</code><code>})</code>
<code> </code><code>foreach</code> <code>(</code><code>$file</code> <code>in</code> <code>$files</code><code>){</code>
<code> </code><code>$size</code><code>=</code><code>$size</code><code>+</code><code>$file</code><code>.length</code>
<code> </code><code>}</code>
<code> </code><code>write-host</code> <code>"the size of $directory is : $size"</code>
<code>}</code>
PowerShell 4.0版本下的腳本:
<code>$directories</code><code>=</code><code>Get-ChildItem</code> <code>d:\ -Directory</code>
<code>foreach</code> <code>(</code><code>$directory</code> <code>in</code> <code>$directories</code><code>){ </code>
<code>$files</code><code>=</code><code>Get-ChildItem</code> <code>$directory</code><code>.FullName -Recurse –File -ErrorAction SilentlyContinue </code>
<code>foreach</code> <code>(</code><code>$file</code> <code>in</code> <code>$files</code><code>){ </code>
<code> </code><code>$size</code><code>=</code><code>$size</code><code>+</code><code>$file</code><code>.Length </code>
<code> </code><code>} </code>
<code> </code><code>write-host</code> <code>"the size of $directory is : $size"</code>
參數說明:
(1)powershell 2.0中的get-childitem 沒有file和directory的參數,隻有通過管道來篩選;
(2)-erratction為錯誤處理機制,詳見部落格:http://281816327.blog.51cto.com/907015/1417587
(3)powershell得到的是檔案夾名不包括絕對路徑,需要用fullname屬性顯示指定;
本文轉自 bannerpei 51CTO部落格,原文連結:http://blog.51cto.com/281816327/1549025,如需轉載請自行聯系原作者