タグ

ブックマーク / dara-j.asablo.jp (6)

  • コネタ+小物シェル: dara-j

    WSH オブジェクト dara-j自身は最近まで知らなかったが、JScriptにて次の評価が true を返す。 WSH === WScript ようするに、WScript.Argumentsだのと記述するときにちょっとだけタイプ量を減らせるっちゅーことですな。 ついでにシェル環境 っていうのかな。コンソールでスクリプト入力して即評価するっつーよくあるやつです。 いずれもっと高機能なやつを考えてるけど、これはこれでコンパクトなので公開。 ソースはこれだけ。 if( /wscript\.exe/i.test( WSH.FullName ) ) { new ActiveXObject( "WScript.Shell" ).Run( "cmd /k cscript //nologo \"" + WSH.ScriptFullName + "\"" ); WSH.Quit(); } // ↓これ、い

  • インタラクティブなJScriptコンソール: dara-j

    久々にJSでも書いてみるか。 気がついたら1ヶ月近くもブログ放置状態だったので、ちょっと前になんとなく作ったスクリプトをば。 もうとっくに誰かがやってるであろう(つか、自分で昔作ってるし)、対話型JScriptシェル(っていうのか?)なんですが、ライブラリのロード機構とドラッグドロップでのバッチ処理をサポートしてるのでライブラリの整備次第ではちょっとしたデータ処理なんかに使えるのでは、と。 いきなりソース 以下、体の全ソース。「jsi.js」とでもしてローカルに保存してください。例によってNYSLで。 var Global = { fso : new ActiveXObject("Scripting.FileSystemObject"), shell : new ActiveXObject("WScript.Shell"), arguments : (function() { var r

  • WSHでMSHTML.HTMLDocumentを扱えた: dara-j

    久々のWSHネタ via: Windows Script Programming: コマンドラインでHTMLファイルをテキストファイルにする。 うは、こりゃすごい。昔2chのWSHスレで「InternetExplorer.ApplicationをcreateしなくてもMSHTML扱える」っていうようなレスを見たことあったんだけど、具体的にどうやるのか知らなかったが、リンク先の記事にばっちり書いてあった。 こんな方法で取得できるとは... この記事では、 var htmlfile = new ActiveXObject("htmlfile"); ってな方法でオブジェクトを作成していて、これでMSHTMLHTMLDocument(=documentオブジェクト)が取得できる。 んで、これのparentWindowを参照するとHTMLWindow2(=windowオブジェクト)があっさり取得で

  • JScriptでCABファイル: dara-j

    CABが作れそうなタイプライブラリを見つけた なんとなくオブジェクトブラウザでライブラリ探ってたら、「COM MakeCab 1.0 Type Library」なんてのを見つけた。いかにもCABファイルが作成できそう。 クラスは「MakeCab」オブジェクトがあるだけで、このクラス自体も「AddFile」「CloseCab」「CopyFile」「CreateCab」と4つのメソッドが実装されているだけのいたってシンプルなもの。 このタイプライブラリ自体は %SystemRoot%\system32\catsrvut.dll がファイル体で、バージョン情報を見るとMicrosoft製のものでコピーライトも「Copyright (C) Microsoft Corp. 1995-1999」となっていることから、少なくともWin2K以降のNT系列のOSでは標準DLLと思われる。 さて、使い方だが

  • WScript - HTA 相互通信ライブラリ: dara-j

    ってほど大層なもんじゃないけど、まあこれも一種のIPCになるかなぁ、と思ったり。 scripthost.jsのソース まずはライブラリコードから。これはwsh・htaの両方から共通で使用する。要:prototype.js Object.extend( Enumerator.prototype, { _each : function(iterator) { this.moveFirst(); var i = 0; try { for(; ! this.atEnd(); this.moveNext()) { try { iterator( this.item(), i++ ); } catch(e) { if( e != $continue ) throw e; } } } catch(e) { if( e != $break ) throw e; } } } ); Object.extend

  • 需要がなさそうなTCP/IP設定切り替えスクリプト: dara-j

    netshコマンド えー、久々のWSHネタで、需要が少なそうなスクリプト。Win2KとかXPとかでネットワーク設定を構成する「netsh」ってコマンドがあるんだけども、これが設定のダンプやリストアができるので、ちょこちょこっとTCP/IPの設定切り替えたりするのに割と便利。 例えば「netsh interface dump」ってコマンドラインから実行すると、こんな感じで表示される。 C:\Documents and Settings\dara-j>netsh interface dump #======================== # インターフェイス構成 #======================== pushd interface reset all popd # インターフェイス構成の最後 # ---------------------------------- # イン

  • 1