2012年3月15日木曜日

◆パイプライン中の処理かどうかを判定する

以前、以下の記事で調査したのだが、同じ目的の記事が有ったので紹介しておく。

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

image

0 件のコメント:

コメントを投稿