Windows7 Home Premium での話。
以前 JScript で書いたスクリプトを実行しようとしたら、次のようにエラーになった。
^o^ > cscript arg1.js foo bar baz Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. CScript エラー: スクリプト "C:\Users\takatoh\Documents\w\sandbox\wsh\arg1.js" のス クリプト エンジン "JScript" が見つかりません。
ググってみたらYahoo知恵袋の↓このページを見つけた。
cf. http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13100243473
以下、作業のメモとして残しておく。
まず、コマンドプロンプトを管理者権限で起動する。スタート → プログラム → アクセサリ → コマンドプロンプト、を右クリックして、「管理者として実行」。で、次のようにコマンドを打ち込む。
^o^ > regsvr32 jscript.dll
すると、「jscript.dll の DllRegisterServer は成功しました。」というダイアログが出るので「OK」をクリック。これで JScript が動くようになる。
^o^ > cscript arg1.js foo bar baz Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. foo bar baz
Yahoo知恵袋の記事では、JScriptが損傷してるとか書いてあるけど、心当たりが無い。もしかしたら何かのときに損傷したのかも。
ちなみに、VBScript も同じ状態。
^o^ > cscript arg.vbs foo bar baz Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. CScript エラー: スクリプト "C:\Users\takatoh\Documents\w\sandbox\wsh\arg.vbs" のス クリプト エンジン "VBScript" が見つかりません。
同じやり方では復旧できなかった。なんで?
^o^ > regsvr32 vbscript.dll
これで、成功したとダイアログには出る。が、実際にスクリプトを実行してみるとダメ。
^o^ > cscript args.vbs foo bar baz Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. CScript エラー: スクリプト "C:\Users\takatoh\Documents\w\sandbox\wsh\args.vbs" のス クリプト エンジン "VBScript" が見つかりません。
まあ、VBScriptは使わないからいいか。