PowerShell Memo

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

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

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


2005-11-14

[]文字列をIEに出力する(out-ie)

またまたPDC2005ネタです。

MonadとVBScript(IE)の連携デモ(mms://media.sitestream.com/microsoft_sitestream_com/open/PDC05/TLN/TLN303/0MM7.wmv)の中で、

「out-ie」というコマンドが利用されています。


標準では用意されていないCmdletなので、なんだろな〜と思っていたのですが、注意深くムービーを見ると、「out-ie.msh」というファイルが一瞬だけ映っていました。デモ用に用意したスクリプトのようですね。


ということで、今回は、ムービーの挙動から予想して「out-ie」コマンドを作成してみました。

「convert-html」Cmdletの出力結果をIEに出力するなど、結構、便利です。


ムービーから予想される「out-ie」の仕様

追加仕様

  • パイプで文字列配列を渡した際は、全ての要素をIEに出力するようにしました。

「out-ie

※MSHのインストールパス($MSHHOME)に置いてください。

out-ie.msh
param()

#パイプでオブジェクトが渡されたかチェック
$test = $input.clone()
if($test.MoveNext() -eq $False){return}

#パイプで渡されたのが「文字列」かどうかチェック
$html = @($input)
if(($html[0] -is [System.String]) -eq $False){}

$ie = new-object -com internetexplorer.application
$ie.visible = $true
[void]$ie.navigate2("about:blank")

while($ie.ReadyState -ne 4){}

for($i=0; $i -lt $html.length; $i++)
{
    [void]$ie.document.writeln([String]$html[$i])
}
[void]$ie.refresh()
return $ie

実行方法

実行例

get-date | convert-HTML | out-ie

Connection: close