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

命令行是"C:\Program Files (x86)\Malwarebytes' Anti-Malware\Malwarebytes Task Scheduler Instructions\Batch Files\MalwarebytesScanAndUpdate.vbs"。
vbs文件的代码是..。
Dim shell
Set shell = WScript.CreateObject ("WScript.Shell")
shell.Run "MalwarebytesUpdate.bat"
WScript.Sleep 300000 'Sleeps for 5 minutes.
shell.Run "MalwarebytesScan.bat"误差

发布于 2014-01-17 02:39:24
听起来您已经将wscript配置为.vbs文件的默认关联,而不是cscript。您可以使用ftype在命令提示符下检查。在我的普通Win7 64位Pro机器上,它生成以下内容(这表明我的机器也配置为wscript.exe ):
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设置为命令行中的默认脚本处理器(不过,除非您确定这是您想要做的,否则我会阻止它):
C:\>cscript /H:Cscript注意,您必须在作为管理员打开的命令提示符("Start",键入" command ",右键单击“命令提示符”,然后从上下文菜单中选择“”)执行上述操作。您将得到这样的输出:
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。
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".它们真的在文件夹名中包含单引号吗?太恶心了,海事组织。:-)
发布于 2016-07-26 12:49:08
我知道这是很老的,但我只是有同样的问题,并通过以下方式解决了它,是否是“正确”的方式,其他人可以判断。
我试图安排一个脚本C:\reminder.vbs在特定的时间运行,并且有同样的问题,我可以通过在资源管理器中双击来运行它,但是当任务运行时,它问我想用什么打开它。我将计划的程序/脚本从C:\reminder.vbs更改为wscript.exe "C:\reminder.vbs",从而解决了这个问题。
因此,它可能并不能真正解释为什么会出现最初的问题,但它确实使脚本正确运行。
发布于 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)\示例应用程序\目录\
其他变体,例如带有引号的路径,或带有路径的程序/脚本,都没有解决。
https://stackoverflow.com/questions/21176656
复制相似问题