wshスクリプト作成用のテンプレートを作った
ダウンロード
http://kasei-san.sakura.ne.jp/wsh/wshScriptTemp.js
ライセンスは、NYSLでお願いします。(要はフリーです)
これは何?
wshって、何かやろうとするたびにいろんなActiveXオブジェクトを呼び出さなきゃいけなかったりで、めんどい。
毎回リファレンスを探すのも大変なので、つかいそうなあたりをまとめて、テンプレートにしました。
これをベースにwshスクリプトを書けば、いつもよりは楽ができるはずです。
よくわからんで書いてる所も多いので、ツッコミも大歓迎です。
注意点
使い方
ソースの464行目にあるコメント以降にソースを書いてください。
//----------------------------------------------------------------------------- // このへんにソースを書く //-----------------------------------------------------------------------------
仕様一覧
連想配列
配列名 | 要素名 | 説明 |
---|---|---|
File | writeResponseBody( responseBody, path ) | pathにresponseBodyを書き込む。 webから取得したバイナリデータをファイルに書き込む際に使用 |
File | read( path ) | ファイルからテキストデータを取得 |
File | write( path, str, overwrite ) | テキストファイルに書き込み( overwrite:true で上書き ) |
File | append( path, str ) | テキストファイルに追記( 存在しない場合、新規作成 ) |
File | pwd() | カレントディレクトリ取得 |
File | getFiles( path ) | ファイル一覧を配列で取得 |
File | getDirs( path ) | サブディレクトリ一覧を配列で取得 |
File | isFile( path ) | ファイルの存在確認 |
File | isDir( path ) | ディレクトリの存在確認 |
File | mkdir( path ) | ディレクトリ作成 |
File | delFile( path ) | ファイル削除 |
File | delDir( path ) | ディレクトリ削除 |
Web | getResponseBody( url, args ) | webからResponseBodyを取得。 URLに渡す引数はargsに連想配列で入れてもOK ResponseBodyはFile.writeResponseBody()で、ファイルに書き込める |
Web | getText( url, args ) | webからテキストデータを取得。 URLに渡す引数はargsに連想配列で入れてもOK |
Web | getXML( url, args ) | webからXMLデータを取得。 URLに渡す引数はargsに連想配列で入れてもOK |
Web | getDom( url, args ) | webからテキストを取得して、DOMオブジェクトに変換。 URLに渡す引数はargsに連想配列で入れてもOK |
Web | postResponseBody( url, args ) | データをpostして、ResponseBodyを取得。 postする情報は、argsに連想配列で入れる ResponseBodyはFile.writeResponseBody()で、ファイルに書き込める |
Web | postText( url, args ) | データをpostして、テキストデータを取得。 postする情報は、argsに連想配列で入れる |
Web | postXML( url, args ) | データをpostして、XMLデータを取得。 postする情報は、argsに連想配列で入れる |
Web | postDom( url, args ) | データをpostして、取得したテキストをDOMオブジェクトに変換。 postする情報は、argsに連想配列で入れる |
Arg | unNamed | 配列要素。名前なし引数を格納 |
Arg | getNamed(name) | 名前付き引数を取得 |
Arg | isNamed(name) | 名前付き引数の存在確認 |
UnitTest
http://kasei-san.sakura.ne.jp/wsh/lib/UnitTest.js
殆どのメソッドを使っているので、サンプルコード代わりになると思います。
動作手順
- UnitTest.js、wshScriptTemp.jsと同じディレクトリに、ディレクトリ「lib」を作成して格納。
- wshScriptTemp.jsの464行目のコメントアウトを外す。
- wshScriptTemp.jsを実行
//----------------------------------------------------------------------------- // このへんにソースを書く //----------------------------------------------------------------------------- //UnitTest(); // ← コメントアウト削除でUnitTest開始
TODO(気が向いた順に実装)
変更履歴
2008/02/15
- File.write() 追加
- File.append() 追加
- Web.getDom() 追加
- domDump() 追加
- readLine() 追加
- confirm() 追加
- ライブラリ取得機能追加
- UnitTest.js 追加
2008/02/16
- Web.get***の引数が正しく渡されていなかったのを修正。
2008/05/03
- TumblrAPIで遊ぶためのlibを追加。