コマンドラインで実行するJScriptをUTF-8で書きたいという、どうかしてる欲求が湧き上がりました。
とりあえずやってみようと、ファイルのエンコードをUTF-8にしてスクリプトを書いてみます。
test.js WScript.Echo("ほげ");実行結果‥Microsoft JScript コンパイル エラー: 終了していない文字列型の定数です。 ダメです。マルチバイトを上手く解釈してくれません。弱った。 そういえば、wsfならエンコードを指定できます。試してみましょう。
test.wsf <?xml version="1.0" encoding="utf-8" ?> <package> <job> <?job error="True" debug="True" ?> <runtime/> <script language="JScript"> <![CDATA[ WScript.Echo("ほげ"); ]]> </script> </job> </package>実行結果‥ほげ 上手く行きました。 ちょっとしたスクリプトならこれでいいのですが、多少気合を入れる時には、ファイルを分割してインクルードしたくなるでしょう。
test.wsf <?xml version="1.0" encoding="utf-8" ?> <package> <job> <?job error="True" debug="True" ?> <runtime/> <script language="JScript" src="./test.js"/> <script language="JScript"> <![CDATA[ main(); ]]> </script> </job> </package> test.js function main() { WScript.Echo("ほげ"); }実行結果‥Microsoft JScript コンパイル エラー: 終了していない文字列型の定数です。 ムキー、なんだよー、とならずに冷静に。 こういうこういう時は、ファイルに﹁BOM﹂をつけるといいですよ。
0 件のコメント:
コメントを投稿