Windows > WSH > 定石




スクリプトの採用理由について

マルチプラットホームなソフトウェアにおいて、プラットホーム固有の処理が必要な場合に採用。

WindowsプラットホームではWSH
LinuxではBash・Perl
を使う場合が多い。



Option Explicit

変数定義を厳格にして未定義変数の使用を禁止。
ただし未初期化までは検出できないので注意。



エラー処理の方式


On Error Resume Next

'想定されるエラーについてはErrオブジェクトをリセットしてから実行。
Call Err.Clear
Call hoge.posibleToFail

If (Err.Number <> 0) Then
    'エラー情報へのアクセス
    'Err.Number
    'Err.Description
    
    '必要に応じてログ出力処理。
    
    '処理に関して、失敗で中断にするのか、
    '警告で継続にするのかは、
    'プログラムの設計・仕様による。
    
    Call Err.Clear
End If



エラー処理と再試行の方針について

★記載中


プログラムと設定の分離

設定が必要な場合、先頭行での設定の記述は避ける。

分離しない場合の問題点

  • プログラムファイルの上書き更新ができない。
  • 配布したプログラムが環境ごとに改変された状態になるため、配布後のバージョンチェックが現実的にできなくなる。

方式

  • プログラムは*.wsfで記述。
  • 設定は*.vbsで記述。
  • *.vbsは*.wsfのscriptタグてインクルードする方式とする。
  • ただし、プログラムが複数の(大半が該当する)場合は、レジストリに格納するなどを検討する。


難読化の必要性について


プログラムと設定を分離する場合、プログラム部分を改変でづらくする観点でも難読化は有効。
ただしスクリプトの自由度(改変がきく)が犠牲になるなどのトレードオフについても考慮が必要。




最終更新日 : [2015-02-14]
最終更新:2015年02月14日 12:36