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,如需转载请自行联系原作者