PowerShellで、標準入力をMessageBoxに出すMessageBox.PS1を作る。(その1)
今度は、PowerShellで、標準入力をMessageBoxに出すMessageBox.PS1を作ります。
先のJScript.NETソースをPowerShellスクリプトに焼き直します。
MessageBox.js
import System.Windows.Forms;
System.Windows.Forms.MessageBox.Show(System.Console.In.ReadToEnd());
MessageBox.PS1
[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show([System.Console]::In.ReadToEnd())
以下の使い方ができます。
CMD.EXE
powershell.exe
.\MessageBox.PS1
ほにゃらら
へにゃらら
ふにゃらら
^Z
CMD.EXE
MessageBox.PS1
ほにゃらら
へにゃらら
ふにゃらら
^Z
※ 関連付け(その4)を使用。
CMD.EXE
powershell.exe < hoge.txt
.\MessageBox.PS1
CMD.EXE
dir | powershell.exe
.\MessageBox.PS1
しかし、以下は駄目です。
CMD.EXE
powershell.exe
.\MessageBox.PS1 < hoge.txt
※ PowerShellは、< を未サポート。パイプで代替する。
CMD.EXE
powershell.exe
dir | .\MessageBox.PS1
※ PowerShell内のパイプは、[System.Console]::Inで読めない。$inputで読む。
CMD.EXE
powershell.exe -command .\MessageBox.PS1 < hoge.txt
※ -commandは、PowerShell内のパイプと同じ。
CMD.EXE
dir | powershell.exe -command .\MessageBox.PS1
※ 同じ。
CMD.EXE
dir | MessageBox.PS1
※ 関連付けの問題。
CMD.EXE
MessageBox.PS1 < hoge.txt
※ 同じ。
« 標準入力をMessageBoxに出すMessageBox.exeを.NETで作る。 | トップページ | PowerShellで、標準入力をMessageBoxに出すMessageBox.PS1を作る。(その2) »