以前、以下の記事で調査したのだが、同じ目的の記事が有ったので紹介しておく。
PowerShell: ◆パイプライン中の処理かどうかを判定する(挫折)
--
Pipeline Used Or Not? - Power Tips - Powershell.com Powershell Scripts, Tips and Resources
--
前回調査してからちょっと間が空いたのと、前回なんとなく紆余曲折していたのでもう一度確認。
結局のところ「$myinvocation.ExpectingInput」を使うのがベスト?
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 | function test { [CmdletBinding(DefaultParameterSetName='NonPipeline')] param( [Parameter(ValueFromPipeline=$true)] $Data ) begin { $myinvocation.ExpectingInput } process {$myinvocation.ExpectingInput} end { $myinvocation.ExpectingInput } } "パイプライン" 1,2 | test "ダイレクト" test 1,2 |
0 件のコメント:
コメントを投稿