トップページ > コンテンツ > プログラミング入門 > Ajax入門 > JavaScript入門 > JScript

JScriptはローカル環境でwindowsを操作するjavascriptです。
より厳密にはJavascriptの標準となるECMAScriptを元にMicrosoftが作った言語。
WSH等からもサポートされている。

WSHとは

Windows上のスクリプト実行環境。
徐々にPowerShellに置き換えられつつあるが、実行権限を付与しなくても
.wsfファイルをダブルクリックで実行できる等、強みもある。
WSHをサポートする言語としては、他にもVBScript等がある。

VBScriptのコードを元にJScriptに落とし込む際には、
注意事項として、VBScriptは引数無しの関数は()が省略可能なので、
JScriptでそのまま囲うとするとエラーになるケースがある。

例:var ws = WSCript.CreateObject("Shell.Windows");
    var obj = ws.windows(); //VBScriptの記述だと、ws.windowsとなっていたりする。

WScriptとは

WSHのオブジェクトモデルのルート階層。
対話型でGUIのイメージで、jsファイルをダブルクリック等で呼び出す。
CScriptはコマンドプロンプトのイメージで、cscript xxx.jsのような形で呼び出す。

WScriptObject

jsにドラッグ&ドロップした時のファイル等は
WScript.Arguments等で取得できます。
ちなみにArguments(1)とArguments.Item(1)は同意。

名前付き引数はWScript.Arguments.Named.Item("オプション名")で取れる。

標準入力の値は、
WScript.StdIn.ReadLine()で取得できます。

ActiveXObjectと主な役割

基本的にwindowsコンポーネントを扱う場合には、
WSHやVBScriptから利用する場合はCreateObject(windowsを動かすためのコンポーネント的なもの),
JScriptから利用する場合はnew ActiveXObject(windowsを動かすためのコンポーネント的なもの)を利用する。

名称が色々変わっているためややこしいが、ActiveXObject≒OLE≒COMの位置づけである。
細かい違いはMicrosoftのページ等を
参照ということで置いておき、ここでは使い方に注視してみる。

WScript.shell Shell操作(コマンド等)
Scripting.FileSystemObject ファイル操作
Scripting.Dictionary ハッシュリストのように使う
microsoft.xmldom XML操作
ADODB.stream (バイナリ)ファイルの読み書き
ADODB.connection データベースへのアクセス
Excel.Application Excel操作
Shell.FolderView explorer操作
Shell.Application explorer操作
ScriptControl 別の言語スクリプトを操作

使用できるActiveXObjectの種類

ActiveXObjectとして、どんなものが使えるかは以下のような方法で知ることが出来る。
  • regeditでレジストリのHKEY_CLASSES_ROOT(≒HKEY_LOCAL_MACHINE\SOFTWARE)を見る。
  • こちらのサイトも参考にする。
  • windows sdkにoleview.exeというCOM情報を見ることができるツールもあるらしい??ので、それを使う。

上記の手段でActiveXObjectを取得したら、以下のようなjavascriptを記述し、
ActiveXObjectのプロパティやプロパティの中身の一覧を得ることで、
色々出来る…かもしれない。
for(property in obj){
   console.log(property);
   console.log(obj[property]);
}

その他

wmiも操作可能とか。ただし精通していないと使いこなせないので、wmi code creatorを使うと良いかも。


関連:
ActiveXObject
最終更新:2017年02月09日 23:03