< January 2010 | February 2010 | July 2010 >

February 1, 2010

CScript.exe で実行したいスクリプト

既定のスクリプト ホストの設定にかかわらず、常に CScript.exe で実行したいスクリプトがあるんですけど、こんな方法を思いつきました。
<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?>
<package>
    <job>
        <script language="JScript"><![CDATA[
            var shell = new ActiveXObject ("WScript.Shell");
            shell.Run ("cscript //Job:EntryJob \"" + WScript.ScriptFullName + "\"", 1, false);
        ]]></script>
    </job>
    <job id="EntryJob">
        <script language="JScript"><![CDATA[
            WScript.Echo ("Hello world !");
            WScript.StdIn.ReadLine ();
        ]]></script>
    </job>
</package>
実際に実行したい処理は EntryJob の部分です。デフォルトで実行されるジョブ内で、ジョブを指定して自分自身を呼び出しています。