スクリプト / スクリプト概要

■スクリプト概要

●スクリプトとは

スクリプトとはスクリプト言語で記述された一種のプログラムで、コンピュータにさせる仕事を列挙したようなテキスト ファイルです。例えば複数の wav ファイルを wma に変換するなど、繰り返し作業を自動化するのに便利です。

●スクリプト言語

Windows には標準で、スクリプトを記述する言語として JScript と VBScript が付属しています。それぞれの言語文法などの詳細についてはマイクロソフトのサイトにあるドキュメントなどを参照してください。

JScript は基本的に JavaScript と同文法なので、JavaScript についての解説も参考になります。正確には JScript は ECMAScript をマイクロソフトが実装したものです。

VBScript は名前のとおり Visual Basic のスクリプト版です。

Windows に付属する Windows Script Host (wscript.exe/cscript.exe) と同様に、このソフトでは Active Script のインタープリタを使用してスクリプトを実行します。そのため JScript については JScript .NET や JScript 8 で拡張された言語機能は使用できません。

●アプリケーションの組み込みオブジェクト

アプリケーションの諸機能は ActiveX オブジェクトの形でスクリプトから使用できるようになっています。オブジェクト階層の一番上に位置するものとして以下のオブジェクトがあります。

Application
アプリケーションの持つ諸機能をまとめ上げているオブジェクト。

Script
スクリプトの実行環境を表すオブジェクト。スクリプトの中から他のスクリプトを実行できますが、それぞれのスクリプトに別個の実体が割り当てられます。

これらのオブジェクトはスクリプトの実行時に自動でセットアップされるので、例えば html の埋め込みスクリプトから参照できる document や window オブジェクトなどと同じように、明示的なセットアップをせずに使用することができます。

例 (JScript)
var app = Application;
Script.Echo(app.Name + " " + app.Version);
Script.Quit();

例 (VBScript)
Dim app
Set app = Application
Script.Echo app.Name & " " & app.Version
Script.Quit

●外部の ActiveX オブジェクト

Windows Script Host (wscript.exe/cscript.exe) などと同様に、スクリプトの中で外部の ActiveX オブジェクトを作成して使用することができます。

例えば以下のようなオブジェクトが OS に付属しています。

  • Scripting.Dictionary
    • 連想配列 (associative array)
  • Scripting.FileSystemObject
    • ファイル/ディレクトリ/ドライブの情報取得や管理
    • テキスト ファイル読み書き
  • WScript.Shell
    • 環境変数へのアクセス
    • レジストリ読み書き
    • ショートカット作成
    • 「マイ ドキュメント」など特殊ディレクトリの場所を取得
    • カレント ディレクトリ設定
    • .exe 実行

例 (JScript)
var shell = new ActiveXObject("WScript.Shell");
Script.Echo("OS = " + shell.ExpandEnvironmentStrings("%OS%"));

例 (VBScript)
Dim shell
Set shell = CreateObject("WScript.Shell")
Script.Echo "OS = " & shell.ExpandEnvironmentStrings("%OS%")