求一个vbs命令,情况是这样的,每次电脑开机5分钟后,通过win7计划任务启动该vbs脚本。 目的是判断程序BstkSVC.exe是否启动成功,如果判断BstkSVC.exe启动成功则退出vbs脚本,如果判断BstkSVC.exe没有启动,则重新启动计算机。 求详细命令
时间: 2023-08-31 14:41:53 浏览: 356
### 回答1:
这是一个 VBS 脚本示例,可以通过 Windows 7 的计划任务来启动,在脚本中判断程序 BstkSVC.exe 是否已经启动,如果启动成功则退出脚本,如果没有启动则重新启动计算机。
```vbs
' 五分钟后判断BstkSVC.exe是否已经启动
WScript.Sleep 300000
' 检查BstkSVC.exe是否已经启动
Set objWMIService = GetObject("winmgmts:")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'BstkSVC.exe'")
' 如果BstkSVC.exe已经启动
If colProcessList.Count > 0 Then
WScript.Quit
End If
' BstkSVC.exe没有启动,重新启动计算机
Set objShell = CreateObject("WScript.Shell")
objShell.Run "shutdown /r /f /t 0"
```
这个脚本会在启动后等待5分钟,然后检查BstkSVC.exe是否已经运行,若已经运行,则退出。否则重新启动计算机。
### 回答2:
要实现这个需求,你可以使用如下的vbs脚本命令:
```vbscript
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process Where Name = 'BstkSVC.exe'")
If colProcesses.Count > 0 Then
WScript.Quit ' BstkSVC.exe启动成功,退出脚本
Else
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
objOperatingSystem.Reboot()
Next
End If
```
这段脚本首先会检查是否有一个名为BstkSVC.exe的进程正在运行。通过使用`winmgmts`和`Win32_Process`类,我们可以获取进程列表并筛选出名字为BstkSVC.exe的进程。
如果存在BstkSVC.exe进程,脚本会执行`WScript.Quit`来退出脚本。
如果没有找到BstkSVC.exe进程,脚本将使用`winmgmts`和`Win32_OperatingSystem`类重新启动计算机。通过调用`Reboot()`方法,脚本将重新启动计算机。
你可以将该脚本保存为.vbs文件,并通过Windows 7计划任务来配置在开机后5分钟运行该脚本。
### 回答3:
可以使用以下vbs命令实现你的需求:
```vbscript
Set objShell = CreateObject("WScript.Shell")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'BstkSVC.exe'")
' 检查程序BstkSVC.exe是否已经启动
For Each objProcess In colProcesses
' 如果BstkSVC.exe已经启动,则退出脚本
WScript.Quit
Next
' 如果BstkSVC.exe没有启动,则重新启动计算机
objShell.Run "shutdown /r /f /t 0", 0, True
```
将以上命令保存为一个名为`check_bstksvc.vbs`的文件,在Windows 7的计划任务中设置每次开机后5分钟自动启动该脚本。
这段vbs脚本的逻辑是首先通过WMI查询是否有名称为"BstkSVC.exe"的进程存在,若存在则表示BstkSVC.exe已经启动成功,直接退出脚本;若不存在,则使用Shell执行`shutdown`命令重新启动计算机。
阅读全文