vbs脚本检查某目录下.exe进程是否执行并启动

vbs脚本检查某目录下.exe进程是否执行并启动

脚本功能描述:

通过VBS脚本,检查当前正在计算机(windows下)运行的进程,是否为当前目录下指定的进程(.exe);

实现启动该进程(也可以实现先关闭,即重启功能);

//当前脚本所在目录

createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path

//查询进程列表

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _

("Select * from Win32_Process Where Name = 'xxx.exe'")

//获取进程的完整路径

objProcess.executablepath

代码如下:

WScript.sleep 10000 '延时十秒钟执行'
Dim processNum       '定义变量'
processNum=0        '变量初始化赋值'
Dim path			'定义地址变量'
path = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path+"\xxx.exe"
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'xxx.exe'")
For Each objProcess in colProcessList
'Wscript.Echo objProcess.executablepath'
if objProcess.executablepath = path then
	processNum = processNum + 1
end if
Next

'Wscript.Echo processNum'
if processNum=0 then
Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run path, , true
Set WinScriptHost = Nothing
end if