« Vistaのエクスプローラで「最近表示した場所」を開く。 | トップページ | メモ帳で改行文字を含めて置換する。 »

2010年11月15日 (月)

WSHで64/32bitを区別する。起動する。

If InStr(LCase(WScript.FullName),"syswow64") Then
  WScript.Echo "32bit on 64bit"
ElseIf CreateObject("Scripting.FileSystemObject").FileExists(Replace(LCase(WScript.FullName),"system32","syswow64")) Then
  WScript.Echo "64bit on 64bit"
Else
  WScript.Echo "32bit on 32bit"
End If

64bit osで、
If CreateObject("Scripting.FileSystemObject").FileExists(Replace(LCase(WScript.FullName),"system32","syswow64")) Then

32/64bit exeから、32bit exeを起動するには、
%systemroot%\syswow64\wscript.exe

32bit exeから、64bit exeを起動するには、
%systemroot%\sysnative\wscript.exe

64bit exeから、64bit exeを起動するには、
%systemroot%\system32\wscript.exe

32/64bit COMを起動するには、それぞれ32/64bit exeからCreateObject()します。

« Vistaのエクスプローラで「最近表示した場所」を開く。 | トップページ | メモ帳で改行文字を含めて置換する。 »