bouzuya.hatenablog.com

ぼうずやのにっき

WSH(3)〜WScriptのプロパティ〜

WSH(Windows Script Host)の第3回。今日は引数の扱いについて記録しておく。

引数の処理にはWshArgumentsオブジェクトを使うのが基本である。Argumentsオブジェクトは名前付き名前なしに関係なく、指定した順番で引数を得られる。名前付き引数の処理にはWshNamedオブジェクトを、名前なし引数の処理にはWshUnnamedオブジェクトを使う。今回は前回定めた仕様に従い、名前付き引数を扱う。

上記の通り、名前付き引数の処理にはWshNamedオブジェクトを使う。WshNamedオブジェクトにアクセスするためには、WScriptオブジェクトのArgumentsプロパティでWshArgumentsオブジェクトを得て、WshArgumentsオブジェクトのNamedプロパティでWshNamedオブジェクトを得る。日本語にすると分かりづらいが、コードにすると単純だ。

WScript.Arguments.Named

これだけのことだ。それぞれのオブジェクトが持つプロパティやメソッドについては、WSHのオブジェクトのリファレンスを参照すること。

説明が遅れたが、WScriptオブジェクトはWSHにおけるルートオブジェクトだ。インスタンス化なしに使える。出力や、オブジェクトの生成や、終了や、スクリプト自体の情報など、さまざまな用途で使う。引数処理のついでにWScriptオブジェクトのプロパティを一部出力してみた。

C:\Users\user\Dropbox>cscript //Nologo //Job:RotateBackup rotate-backup.wsf /srcfile:target.zip /dstdir:C:\Users\user\backup
Hello, WSH!

srcfile:target.zip
dstdir :C:\Users\user\backup

WScript properties
WScript.Name          :Windows Script Host
WScript.Version       :5.8
WScript.Path          :C:\windows\system32
WScript.FullName      :C:\windows\system32\cscript.exe
WScript.Interactive   :True
WScript.ScriptFullName:C:\Users\user\Dropbox\rotate-backup.wsf
WScript.ScriptName    :rotate-backup.wsf

今日のところはここまで。はやくきれいなスクリプトを書けるようになれるといいなあ。楽しみながらやっていこう。

21 min.