VBSファイルの実行を逐次化する。
多重に実行されると困る場合は、ロックを取って、逐次化します。
Option Explicit
Dim fso
Dim Lock
Set fso=CreateObject("Scripting.FileSystemObject")
Sub TryLock
On Error Resume Next
Set Lock=fso.OpenTextFile(WScript.ScriptFullName&":Lock",8,True)
End Sub
Do
TryLock
If Err.Number=0 Then Exit Do
WScript.Sleep 1000
Loop
WScript.Echo "Locked"
ファイルの追加書きオープンで排他ロックを取ります。
ただし、スクリプトファイルだと、起動できなくなるので、NTFSストリームにします。
もし、NTFSでない場合は、:Lockを.Lockに変えて、別ファイルにするとよいでしょう。
« テキストファイルを使って連番を生成する。 | トップページ | FileExists()でワイルドカードが使えない。その代替方法 »