WSHで CUI実行かどうか判断する

2008/05/15

Categories: wsh

ちょっとしたスクリプトにおいて、WScript.Echoなどで結果をstdoutにずらずら出力したいときがある。
で、このスクリプトをエクスプローラからダブルクリックで実行してしまいMsgBoxが延々と出てきてしまうと悲しい。ので、実行時にチェックしてコマンドプロンプト(cscript.exe)から実行されたかどうか判断したい。

改めて検索してみたら、
@IT:運用 Windows管理者のためのWindows Script Host入門 第4回 WScriptオブジェクトの詳細(2) 4.スクリプトの実行制御とホスト情報の取得
実行ファイル名でチェックしてるサンプルが。

今までこんなん↓してた(JScript)

try {
WScript.StdErr.WriteBlankLines(1);
} catch( ex ) {
WScript.echo( "run me under cscript.exe");
WScript.Quit();
}
うーん。
cscript.exe経由で実行の場合に、StdErrが汚れるし。。


>> Home