よく忘れるWSF(2)~runtimeタグとかobjectタグとかshowusageメソッドとか

コマンドラインプログラムのオンヘルプは絶対にあったほうがいい。
だから書き方が形式化されているのは、ありがたい。
しかし、覚えにくい。思い出せないから書かない。
今後、そんなことのないように、Microsoft Access 用の空のMDBファイルを作成するコマンドcreatemdb.wsfでの使用例を掲載する。ソースはこんな感じ。
<?XML version="version" standalone="yes"?>
<package>
  <job id="create-mdb">
    <runtime>
        <description>説明 :
    Microsoft Access 2000/2003用の mdb ファイルを作成する
        </description>
        <unnamed
            name       = "mdb-filename"
            helpstring = "作成するMicrosoft AccessデータベースのMDBファイル名"
            many       = "false"
            required   = "true"
        />
        <example>
使用例 :
カレントディレクトリに mydatabase.mdb を作成
        
cscript //nologo createmdb.wsf mydatabase.mdb
        </example>
    </runtime>
    <object id="cat" progid="ADOX.Catalog"/>
    <script language="VBScript">
    <![CDATA[
    option explicit
    dim arg     : set arg = WScript.Arguments
    if arg.count = 0 then
        arg.showusage
        wscript.quit
    end if 
    dim filename: filename  = arg(0)
    cat.create "Provider='Microsoft.Jet.OLEDB.4.0'" & ";" & _
       "Data Source='" & filename & "'"
    ]]>
    </script>
  </job>
</package>

このプログラムをコマンドラインで次のように実行すると
cscript //nologo createmdb.wsf /?

コマンドラインヘルプが次のように表示される。
説明 :
    Microsoft Access 2000/2003用の mdb ファイルを作成する
        
使い方 : createmdb.wsf mdb-filename

オプション :

mdb-filename : 作成するMicrosoft AccessデータベースのMDBファイル名

使用例 :
カレントディレクトリに mydatabase.mdb を作成
        
cscript //nologo createmdb.wsf mydatabase.mdb
        

また、プログラム内で引数を何も指定していないとき、showusageメソッドを実行しているので、
次のようにしても結果は同様になる。
cscript //nologo createmdb.wsf

ちなみに、「説明」とか「使用例」とかの文字列は自分で指定しているが、「使い方」とか、「オプション」という文字列は自動的に表示されている。
あと、せっかくXMLなのだから、多言語対応してくれるとすごく助かるんだけどなあ…
もう、PowerShellがあるからバージョンアップしないって話だし…。
なんかいい方法ないかなあ…。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック