如何使用 Messagebox 在 Windows 7 任务调度程序中启动 VBS 脚本?
Posted
技术标签:
【中文标题】如何使用 Messagebox 在 Windows 7 任务调度程序中启动 VBS 脚本?【英文标题】:How to start a VBS-script in Windows 7 task scheduler with Messagebox? 【发布时间】:2012-02-14 02:28:59 【问题描述】:我正在使用 Win7 x64 Professional,并尝试使用 Windows 任务调度程序运行 VBS 脚本。我的问题是,该脚本的行为与直接启动的脚本完全不同,即使我以高权限启动它并使用相同的用户。
我注意到的一件事是,例如,无法在屏幕上输出任何消息框。
在 Windows XP 下,我记得有一个选项叫做“允许与桌面交互”,它解决了很多这些问题,但我在 Win7 上找不到这些选项。
我也尝试运行 Wscript.exe,并将脚本文件作为命令行选项传递,但这会导致脚本根本没有启动,即使任务调度程序说它已正确启动。
您能否解释一下在 Win7 中启动 VBS 的最佳方式是什么,以便与直接在资源管理器中启动的脚本具有相同的行为?
【问题讨论】:
如果你能解决这个问题,你能给我们更新吗? 【参考方案1】:您应该使用CScript.exe
而不是WScript.exe
,这样WScript.Echo
之类的命令将输出到控制台而不是对话框。正如您所指出的,计划任务应避免 MessageBox 或任何可能导致脚本阻塞的 UI 元素。
我建议您按如下方式安排您的脚本:
C:\Windows\System32\CScript.exe //Nologo //B X:\PathToYourScript\YourScript.vbs
我为您选择的选项是“防止徽标显示”和“批处理模式”。通过在命令提示符上运行 CScript /?
来查阅您的在线帮助。
【讨论】:
应该添加任何参数并在需要的文件夹中开始【参考方案2】:刚刚发布这个 b/c 我在语法上挣扎了一段时间... 每个人都说要使用 .bat 在任务调度程序中运行 .vbs...
.bat 文件不需要!但是...精美的印刷品:
从任务调度程序运行 vbs - 制作快捷方式/ .lnk 或直接调用。
!!注意!! 文件路径中不允许使用引号,文件路径中不允许使用空格。 因此,在 vbs 路径/名称已经确定的情况下,创建满足这些规则的快捷方式通常更容易。
【讨论】:
以上是关于如何使用 Messagebox 在 Windows 7 任务调度程序中启动 VBS 脚本?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows Phone 的 Messagebox 中添加超链接按钮?
C++ MessageBox (Windows.h) - 它有啥作用以及如何使它不可见(或等效)?