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'

[好的]

我认为我只需要一种方法来定义或调用 WScript 以执行操作,因为它显然不是通过 BGInfo 自己完成的,而且我所做的也不起作用。我还没有看到任何可以帮助解决 StackOverflow 上的这个特殊问题的东西。

有什么想法吗?

4

1 回答 1

6

BGInfo 实现了它自己的脚本宿主,并且似乎没有模拟 WScript 对象。浏览我在互联网上找到的一些片段,看起来就像普通的 Echo 在 BGInfo 中工作。一个片段:

On Error Resume Next
    call WScript.Echo(strReturn)    'for cmd line
    call Echo(strReturn)    'for BGInfo
on error goto 0

请注意 On Error 如何帮助它以任何一种方式工作。

于 2013-05-23T23:50:59.683 回答