ファイルの配置構成

[source]はディレクトリ、↓はディレクトリ内の構成

[source]  / 00_xxx.vbs / 01_xxx.vbs

      ↓

00_xxx.bat / 00_xxx.py / 01_xxx.py

 

筆者はこのようなvbsはあくまで[source]の中に配置している拡張子を除く同名のプログラムを実行するためのファイルとして作成しています。

(実行するプログラムは別にPythonに限らなくても良い)

 

  00_xxx.vbs

 

Option Explicit
'変数の宣言を必須とする

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
'FileSystemObjectオブジェクト

Dim objWShell
Set objWShell = CreateObject("Wscript.Shell") 
'WshWindows Script Host)Shellオブジェクト

objWShell.run fso.getParentFolderName(WScript.ScriptFullName) & "\source\" & fso.GetBaseName(WScript.ScriptName) & ".bat",0
WScript.Sleep 2000 '2秒待つ
objWShell.run fso.getParentFolderName(WScript.ScriptFullName) & "\source\" & fso.GetBaseName(WScript.ScriptName) & ".py",0

'--------

'fso.GetBaseName(WScript.ScriptName)によって拡張子を除いた自身(vbs)の名前を取得
'fso.getParentFolderName(WScript.ScriptFullName) で自身のフルパスを取得(タスクスケジューラから呼び出す際相対パスでは呼び出せないため)
'vbs実行ディレクトリから相対パス参照で ./source/00_xxx.bat を実行後、2秒待機、 ./source/00_xxx.py を実行する
'拡張子以外のファイル名を同名にすることでどのファイルと関連があるか一目でわかる
'また00_xxx.vbs はコピーしてファイル名を変更すると別のプログラムの実行ファイルに流用可能(ソースを書き換える必要がない)

 

 

次の記事では 00_xxx.batと00_xxx.py を作成します。

00_xxx.bat の作成