任务计划程序执行vbs脚本
时间: 2024-10-09 09:14:30 浏览: 147
任务计划程序可以用于定期执行VBS(Visual Basic Scripting)脚本,这是Windows环境中常用的简单脚本语言。要让任务计划程序执行VBS脚本,你需要按照以下步骤操作:
1. **创建VBS脚本**:首先编写你的VBS脚本,例如保存为`myscript.vbs`,内容可以包括各种操作,如文件处理、网络请求等。
2. **赋予执行权限**:确保VBS脚本具有适当的执行权限。可以在脚本属性里设置为"所有用户"或通过命令行添加`cscript //U:username password scriptname.vbs`(替换username和password为你所需的用户名和密码)。
3. **创建任务计划程序**:
- 打开“任务计划程序”:搜索栏输入“任务计划程序”并打开。
- 点击“创建基本任务”或“创建任务”。
- 输入任务名称和描述,选择“触发器”(例如每天、每周等),设置开始时间和频率。
- 转到“操作”选项卡,点击“新建”,然后在“程序或脚本”框中输入`CScript.exe`,作为批处理引擎。
- 在“添加参数”里,输入你的VBS脚本路径,例如`%SystemRoot%\system32\CScript.exe "%USERPROFILE%\myscript.vbs"`(记得替换为实际路径)。
4. **测试与启用**:完成设置后,先手动测试一次,确保脚本能正确执行。然后选择“触发器”里的选项开启任务,并让它按预设的时间开始执行。
相关问题
求一个vbs命令,情况是这样的,每次电脑开机5分钟后,通过win7计划任务启动该vbs脚本。 目的是判断程序BstkSVC.exe是否启动成功,如果判断BstkSVC.exe启动成功则退出vbs脚本,如果判断BstkSVC.exe没有启动,则重新启动计算机。 求详细命令
### 回答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`命令重新启动计算机。
如何能让vbs脚本执行时,不用放在首页,也不放在后台,进行执行
你可以将VBS脚本保存为独立的文件,并将其放置在你的计算机上任何你希望的位置。然后,你可以使用 Windows 的任务计划程序来设置一个定时任务,以在预定的时间自动运行脚本。这样,你就可以在不需要打开脚本文件的情况下自动执行它。以下是设置定时任务的步骤:
1. 打开 Windows 的任务计划程序。你可以在开始菜单中搜索 "任务计划程序" 来打开它。
2. 点击 "创建基本任务"。
3. 输入任务名称,并添加任务的说明。
4. 设置任务的触发器。你可以选择在特定日期和时间运行任务,或在计算机启动或用户登录时运行任务。
5. 选择要运行的程序或脚本,即你要运行的 VBS 文件。
6. 点击 "完成",即可创建定时任务。
现在,你的 VBS 脚本将在你设置的时间自动执行。
阅读全文