我需要在32位被运行VBS文件,即使我运行Windows 7 64位。 我可以用命令来启动该文件
C:\Windows\SysWOW64\cscript.exe my-file.vbs
而且做工精细,但它给我留下了,我必须手动关闭每次重复命令提示符窗口。 这也使得它非常麻烦运行该VBS文件作为启动项目。
是否有一个开始我的32位的vbs文件的背景呢?
我需要在32位被运行VBS文件,即使我运行Windows 7 64位。 我可以用命令来启动该文件
C:\Windows\SysWOW64\cscript.exe my-file.vbs
而且做工精细,但它给我留下了,我必须手动关闭每次重复命令提示符窗口。 这也使得它非常麻烦运行该VBS文件作为启动项目。
是否有一个开始我的32位的vbs文件的背景呢?
试试这个针对64位的问题,如果它的工作原理,你可以与其他的答案结合起来
编辑:下面一个问题,去更深入的32/64位问题
如何检查是否WScript的/ CSCRIPT在x64主机操作系统上运行?
在这里,修改后的版本,应该确保脚本在64位平台上运行
On Error Resume Next
Dim WshShell, OsType
Set WshShell = CreateObject("WScript.Shell")
OsType = WshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\PROCESSOR_ARCHITECTURE")
If OsType = "x86" then
wscript.echo "Windows 32bit system detected"
else
wscript.echo "Windows 64bit system detected"
If InStr(LCase(WScript.FullName),"system32") Then
CreateObject("WScript.Shell").Run """%systemroot%\SysWOW64\wscript.exe"" """ & WScript.ScriptFullName & """"
Wscript.Quit
End If
end if
Msgbox("I ran..")
如果您需要使用CSCRIPT这是恕我直言,一个很酷的解决方案
Const HIDDEN_WINDOW = 0
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
objConfig.ShowWindow = HIDDEN_WINDOW
Set objProcess = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
objProcess.Create "Cscript.exe h:\Script\Test1.vbs", null, objConfig, intProcessID
如果你可以使用WScript的,你可以做到以下几点,这是最简单的方法
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "Wscript.exe h:\Script\Test1.vbs"
其实你可以做到这一点作为一个班轮(我是一个Ruby的家伙8>)
CreateObject("Wscript.Shell").Run("Wscript.exe h:\Script\Test1.vbs")