在BGInfo中使用VBScript时出错:“变量未定义:'WScript'”

3

我是一位业余VB脚本编程者。我在制作一个脚本,用于检查两个文件中是否存在一个,如果存在,则给出一个标志,指示"已安装"。如果两个文件都不存在,则标记为"未安装"。以下是我的脚本...

Option Explicit
DIM fso    
Set fso = CreateObject("Scripting.FileSystemObject")
CreateObject("WScript.Shell") 

If (fso.FileExists("C:\Program Files (x86)\Dell\KACE\AMPAgent.exe")) OR (fso.FileExists("C:\Program Files\Dell\KACE\AMPAgent.exe")) Then
  WScript.Echo("Installed")
  WScript.Quit()
Else
  WScript.Echo("Not Installed")
  WScript.Quit()

End If

当我在Windows 7运行它时,它可以正常工作。但是当我将其添加到BGInfo中时,出现以下错误...
“评估脚本字段“KACE”时发生错误” “Microsoft VBScript运行时错误” “第7行,位置2” “变量未定义:'WScript'” “[OK]”
我认为我只需要一种定义或调用WScript以启动操作的方法,因为显然它不能自己通过BGInfo执行,而且我所做的也不起作用。在StackOverflow上,我没有看到任何有助于解决这个特定问题的信息。
您有什么想法吗?

3
对于我们不知道 BGinfo 是什么的人来说,提到 BGinfo 是有用的。这里有信息:http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx。好的第一篇文章! - Rots
1
感谢你的提示!昨天我注意到我总是能在StackOverflow上找到答案,但我从来没有加入过。现在这个地方成为了我的首选之地。我很高兴我的第一次问答顺利进行。 :) - MaxKorban
1个回答

6
BGInfo实现了自己的脚本宿主,似乎没有模拟WScript对象。通过浏览我在互联网上找到的一些片段,看起来在BGInfo中只有简单的Echo有效。一个片段:
On Error Resume Next
    call WScript.Echo(strReturn)    'for cmd line
    call Echo(strReturn)    'for BGInfo
on error goto 0

请注意On Error如何帮助使其两种方式都能正常工作。

+1。你比我快了。我刚在Mark的文章中找到它,正想写同样的东西。 - Ken White
那个完美地运行了!我还删除了退出行,因为它们似乎是不必要的,并且在每台测试机器上都测试通过。非常感谢你的帮助! - MaxKorban

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接