定義されている関数一覧を取得する
最終更新:2010/09/27 作成日:2010/09/18 分類:
PowerShell 逆引きリファレンス
Get-ChildItemコマンドレットで Functionドライブの項目一覧を取得すると、PowerShellで定義されている関数一覧を取得することができます。
PS U:\PS> Get-ChildItem Function:
CommandType Name Definition
----------- ---- ----------
Function A: Set-Location A:
Function B: Set-Location B:
Function C: Set-Location C:
Function cd.. Set-Location ..
Function cd\ Set-Location \
Function Clear-Host $space = New-Object System.Managemen...
# 以下略
さらに、パスを指定することで、単一の関数のみを取得できます。
PS U:\Ps> Get-ChildItem Function:\Clear-Host
CommandType Name Definition
----------- ---- ----------
Function Clear-Host $space = New-Object System.Managemen...
出力結果に「Definition」という列があります。これは関数定義を表すプロパティです。したがって、コマンドの実行結果のデータに .Definitionと指定することで、関数の定義を取得できます。
PS U:\Ps> (Get-ChildItem Function:\Clear-Host).Definition
$space = New-Object System.Management.Automation.Host.BufferCell
$space.Character = ' '
$space.ForegroundColor = $host.ui.rawui.ForegroundColor
$space.BackgroundColor = $host.ui.rawui.BackgroundColor
$rect = New-Object System.Management.Automation.Host.Rectangle
$rect.Top = $rect.Bottom = $rect.Right = $rect.Left = -1
$origin = New-Object System.Management.Automation.Host.Coordinates
$Host.UI.RawUI.CursorPosition = $origin
$Host.UI.RawUI.SetBufferContents($rect, $space)
PS U:\Ps>