首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Visual脚本作为计划任务运行询问如何打开文件

将Visual脚本作为计划任务运行询问如何打开文件
EN

Stack Overflow用户
提问于 2014-01-17 02:14:32
回答 5查看 22.4K关注 0票数 4

我在中创建了一个任务,该任务应该执行我编写的.vbs文件。问题是,每次服务运行时(而不是实际执行代码),我都会被问到如何打开文件。我怎么才能阻止这一切?请不要建议批处理文件,我不能使用它们。

命令行是"C:\Program Files (x86)\Malwarebytes' Anti-Malware\Malwarebytes Task Scheduler Instructions\Batch Files\MalwarebytesScanAndUpdate.vbs"

vbs文件的代码是..。

代码语言:javascript
复制
Dim shell
Set shell = WScript.CreateObject ("WScript.Shell")
shell.Run "MalwarebytesUpdate.bat"
WScript.Sleep 300000 'Sleeps for 5 minutes.
shell.Run "MalwarebytesScan.bat"

误差

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-17 02:39:24

听起来您已经将wscript配置为.vbs文件的默认关联,而不是cscript。您可以使用ftype在命令提示符下检查。在我的普通Win7 64位Pro机器上,它生成以下内容(这表明我的机器也配置为wscript.exe ):

代码语言:javascript
复制
C:\>ftype VBSFile
VBSFile="%SystemRoot%\System32\WScript.exe" "%1" %*

更改Program/script条目,并将cscript.exe添加到开头,这样完整的条目就会读(当然,全部在一行上):

cscript.exe“C:\程序文件(X86)\Malware字节‘反恶意软件\Malware字节任务调度器指令\批Files\MalwarebytesScanAndUpdate.vbs”

如果任务计划程序抱怨cscript,请将其更改为

"%SystemRoot%\System32\cscript.exe“C:\Program (X86)\Malware字节‘反恶意软件\Malware字节任务调度器指令\批处理Files\MalwarebytesScanAndUpdate.vbs’

如果这不起作用,请剪切完整的路径名(同样包括引号),并将其粘贴到标记为添加参数(可选):的编辑控件中。

您还可以将cscript设置为命令行中的默认脚本处理器(不过,除非您确定这是您想要做的,否则我会阻止它):

代码语言:javascript
复制
C:\>cscript /H:Cscript

注意,您必须在作为管理员打开的命令提示符("Start",键入" command ",右键单击“命令提示符”,然后从上下文菜单中选择“”)执行上述操作。您将得到这样的输出:

代码语言:javascript
复制
C:\Windows\system32>cscript /H:CScript
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

The default script host is now set to "cscript.exe".

如果您决定撤销它,请重复上面的内容,然后使用/H:WScript

代码语言:javascript
复制
C:\Windows\system32>cscript /H:WScript
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

The default script host is now set to "wscript.exe".

它们真的在文件夹名中包含单引号吗?太恶心了,海事组织。:-)

票数 4
EN

Stack Overflow用户

发布于 2016-07-26 12:49:08

我知道这是很老的,但我只是有同样的问题,并通过以下方式解决了它,是否是“正确”的方式,其他人可以判断。

我试图安排一个脚本C:\reminder.vbs在特定的时间运行,并且有同样的问题,我可以通过在资源管理器中双击来运行它,但是当任务运行时,它问我想用什么打开它。我将计划的程序/脚本从C:\reminder.vbs更改为wscript.exe "C:\reminder.vbs",从而解决了这个问题。

因此,它可能并不能真正解释为什么会出现最初的问题,但它确实使脚本正确运行。

票数 4
EN

Stack Overflow用户

发布于 2014-01-29 16:03:44

这也发生在我身上,在一个相当“干净”的Windows 2012 R2系统上,除了不同的角色和功能之外,只安装了火狐和WinRAR。

计划的任务被设置为运行如下所示:

“C:\程序文件(X86)\示例\示例\App\Directory\example.vbs示例”

上面的结果是使用任务调度器属性对话框的Browse函数选择.vbs的结果。

使用“只在用户登录时运行x”选项手动运行任务将打开“您希望如何打开此文件?”选项,提示您选择Firefox、IE、记事本等。

注意,如果没有上述设置,它只会静默地给出“操作被用户取消”(0x800704C7)“最后运行结果”。因此,我希望其他查找此错误的人现在可以找到这个线程,并尝试“只有在用户登录时才运行”选项,以确定他们是否有这个确切的问题。

assoc .vbs给予:.vbs=VBSFile

ftype VBSFile提供: VBSFile="%SystemRoot%\System32\WScript.exe“"%1”%*

我尝试在"Start in“选项中设置当前目录,但这也没有帮助。

在我的例子中,解决方案不是简单地添加当前目录,而是编辑Browse按钮设置的Program/script字符串。

这是:

“C:\程序文件(X86)\示例\示例\App\Directory\example.vbs示例”

必须成为:

example.vbs

字段中的“可选”启动必须设置为:

C:\程序文件(X86)\示例应用程序\目录\

其他变体,例如带有引号的路径,或带有路径的程序/脚本,都没有解决。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21176656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档