トップ 履歴 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

Script/TipsWSH

INDEX

Windows上でスクリプトを実行

Windows Script Host

 対応言語

言語名 スクリプト言語 使うためには
JScript Microsoft JScript (*1) WSH標準
VBScript Visual Basic Script WSH標準
PerlScript Perl ActivePerl を導入
Python Python ActivePython を導入
RubyScript Ruby ActiveScriptRuby を導入
PHPScript PHP PHP Manual - ActiveScriptを参照

注1:Microsoft版 JavaScript (ECMAScript実装)

WSHで利用可能な基本オブジェクト

オブジェクト名 概要
WScript WSHのルートオブジェクト。ホスト情報、スクリプトへの引数情報をはじめ、オブジェクトの生成や破棄などの役割を提供
WshArguments スクリプトに渡された引数情報にアクセスする手段を提供
WshController リモートコンピュータにあるスクリプトを実行するための機能を提供
WshEnvironment システム環境変数にアクセスする手段を提供
WshNetwork 共有プリンタ/共有ドライブへのアクセス手段を提供
WshShell アプリケーションの実行からレジストリへのアクセス、ショートカット作成など、Windowsシェルに関わるさまざまな機能へのアクセス手段を提供
WshShortcut ショートカットを操作するための手段を提供
WshSpecialFolders 特殊フォルダへのアクセス手段を提供
WshUrlShortcut インターネットリソースへのショートカットを操作するための手段を提供
FileSystemObject ファイルシステムへのアクセスからテキストファイルへの読み書きの手段を提供

スクリプトを読みづらくする

一見読みづらくなるだけで、完全に読まれないようになるわけではないので注意。

 Script Encoder で符号化する

Windows Script Encoder を使用することでスクリプトをエンコードすることが出来る。これによってコードをそのまま表示することを防ぐことが出来る。また、エンコードされたテキストを変更するとスクリプト全体の整合性が失われるので改変も防ぐことができる。ただし、エンコードしたスクリプトはデコードすることが可能。さらに、日本語(などの2バイト文字)はエンコードされない。

 スクリプトを実行ファイル形式にする

iexpress などの自己解凍書庫を作成するツールを使い、スクリプトファイルを入れた自己解凍の書庫を作成。解凍時に実行するプログラム(インストーラ)の指定でスクリプトファイルを指定する。解凍先を指定出来る場合はテンポラリ(%TEMP%)へ、インストーラ実行ご削除出来るなら削除する様にする。

見た目は実行ファイル、でも動くのはスクリプト、と言った感じで誤魔化すことが出来る。もっとも、自己解凍書庫なのでツールで中のスクリプトを取り出し見ることが出来る。

WSH (Windows Scripting Host) Console

ちょっとした動作の確認とかに便利な対話型で逐次実行するスクリプトコンソール。

id:Mug さんのはてなダイアリー 新しいJavaScriptの使い方を考えるJScriptコンソールを進化させてWSHコンソールに。 JScript とおまけで VBScript も。

Ruby は標準で、irb というツールがある。Perl は、Perl デバッガ (perl -d -e 1) か、pirl(Shell::Perl) や perlsh(Term::ReadLine::Gnu) と言うの(モジュール)があるのでそれを利用。Python と PHP はあるのかな…。

 私製 WSH Console

id:Mug さんのを自分用にちょっと手直し。かといって、そんなに使いこなしてるわけじゃないですけど。

主な変更点はこんな感じ

  • wsf からの起動時に、JSとVBSのどちらかを起動するか選択できるように変更
  • vbs からも単独起動出来るように処理追加
  • js,vbs 共に同じ拡張機能を追加(主にvbs)、ヘルプ表示も
    • echo : プロンプトの表示/非表示設定
    • rompt : プロンプト文字の設定
    • history : コマンド履歴の表示
    • cmd : DOSコマンドの実行
  • js にあった リダイレクトに代わる機能を削除
  • wsf にあった write, writeln, print のユーティリティ関数を削除
  • 起動用のNTコマンドスクリプトを同梱

■ダウンロード: ファイルが存在しません。 (ただいま削除中)

  • 同梱している original.zip は、オリジナルとなる id:Mug さんのものです。
  • 営利・非営利問わず自由に利用してください。
  • 営利・非営利問わず配布、雑誌・書籍への収録や添付はお断り致します。
  • 中身を確認の上、実行してください。

jQuery on WSH

WSH で jQuery を使う。

 私製 WSH jQuery Test

plasticgrammer さんのをベースに 葉っぱ日記 さんのを加えて自分用にちょっと手直し。

  • Windows Script File (wsf) を使用
  • 偽 window、偽 document を準備するコードを用意
    • setInterval, setTimeout のラッパ関数も作成
  • jQuery の読み込みを「<script src="〜" />」で行う
    • script タグを使うことで、ファイルを読んで eval する必要がない

最終更新時間:2010年02月21日 22時14分50秒 指摘や意見などあればSandBoxのBBSへ。