Forwarding Parameters - Power Tips - Powershell.com Powershell Scripts, Tips and ResourcesにいかにもTipsというのがあったので紹介。
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 | function dir-name($path, $include,$erroraction) { Get-ChildItem -Path $path -Include $include -ErrorAction $erroraction } function dir-name2($path, $include,$erroraction) { Get-ChildItem @PSBoundParameters } function dir-name3($path, $include,$erroraction) { Get-ChildItem @PSBoundParameters -Exclude "d*" } "dir-name" dir-name ".\*" "*.accdb" "continue" "dir-name2" dir-name2 ".\*" "*.accdb" "continue" "dir-name3" dir-name3 ".\*" "*.accdb" "continue" |
関数の引数で受け取ったパラメータを内部で実行するコマンドレットのパラメータにそのまま渡す例である。
dir-name関数はごく普通に指定した場合。
dir-name2では分配演算子を使って$PSBoundParameters自動変数をコマンドレットに引き渡している。
$PSBoundParameters自動変数は関数に渡された引数が連想配列で保持されている。
パラメーターを追加して実行する場合はdir-name3の様にすれば良い。
0 件のコメント:
コメントを投稿