PowerShell Memo

このサイトはPowerShell(MSH/Monad)奮闘記です

管理人「newpops吉岡洋」が
「PowerShell(旧名:MSH/Monad)」の研究結果を日々綴っていきます。

【お知らせ】
この日記からPowerShellのTipsを抽出し「PowerShell FAQ」として整理しました。


2005-11-02

[]$inputの謎(2)

パイプでオブジェクトが渡されたかどうか判断するには?

$inputのCloneメソッド、MoveNextメソッドを組み合わせることで、オブジェクトが渡されたかどうか判断できます。

パイプでオブジェクトが渡されたかどうか判断する
function existPipedObject
{
    $test = $input.clone()
    $test.MoveNext()
}

利用例
MSH C:\> ls | existPipedObject
True
MSH C:\> existPipedObject
False
MSH C:\>

「more」の改良

$inputの要素数が0個かどうかで分岐するようにしました。

function more
{
    $test = $input.Clone()
    if($test.MoveNext())
    {
        $input | out-host -paging
    }
    
    if($args[0] -ne $null)
    {
        get-content $args[0] | out-host -paging
    }
}