« バッチファイルからインラインのVBScriptスクリプト | トップページ | 一時ファイルにスクリプトを書いて子プロセスを起こす。(その2) »

2007年11月 8日 (木)

一時ファイルにスクリプトを書いて子プロセスを起こす。

ひとつのスクリプトファイルから親子プロセスに分けて実行するには、
WSF、再帰呼び出し、MSHTAを使う方法などがありますが、
これは、一時ファイルのスクリプトファイルを作るパラダイムです。

一時ファイルを親側で削除する例です。

Set fso=CreateObject("Scripting.FileSystemObject")
Path=fso.BuildPath(fso.GetSpecialFolder(2).Path,fso.GetTempName())
Set File=fso.CreateTextFile(Path)
File.WriteLine "MsgBox WScript.ScriptFullName"
File.Close
Set wShell=CreateObject("WScript.Shell")
wShell.Run "wscript.exe //e:vbs """ & Path & """",,True
fso.DeleteFile Path

一時ファイルを親側で削除するには、同期が必要です。
子側がファイルを読み込むまででよいのですが、分からないので終了まで。

« バッチファイルからインラインのVBScriptスクリプト | トップページ | 一時ファイルにスクリプトを書いて子プロセスを起こす。(その2) »