3

私はアマチュアの VB スクリプト作成者です。2 つのファイルのうちの 1 つが存在するかどうかを確認するスクリプトを作成しています。存在する場合は、「インストール済み」というフラグを付けます。どちらのファイルも存在しない場合は、「未インストール」のフラグを立てます。これが私のスクリプトです...

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 に答える