2010年6月26日土曜日

◆関数を作る

PowerShell: ◆サブフォルダーの容量を求めるで作ったスクリプトを関数にしてみた。

function dir2(
    [string]$Path = ".\",
    [switch]${??}){

$comment = @'
#####################################################

指定されたフォルダーのサブフォルダーのディスク容量を表示する
(FunctionLib.ps1)

param(
    [string]$Path = ".\",
    [switch]${??}
)

例:
    #
    MGet-FolderSizes.ps1 -Path "C:\Windows"

#####################################################
'@

    Set-PSDebug -Strict

    if(${??}) {$comment;return}

    Get-ChildItem -Path $Path | ?{$_.PsIsContainer} |
        select name,@{
             name="Size(MB)";expression={
                "{0,10:n2}" -f
                (($_ | Get-ChildItem -Recurse -ea silentlycontinue |
                 measure -Sum length).Sum / 1mb)
             }
         } |
        sort "Size(MB)" -des
    Set-PSDebug -Off
}

ほとんどそのままだ。
使うときは、$profileに書いておくかドットソースで読み込む。

.  FunctionLib.ps1
dir2

0 件のコメント:

コメントを投稿