0

アプリケーションのアンインストールに使用するスクリプトがあります

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" _
    & strComputer & "\root\cimv2")
Set colSoftware = objWMIService.ExecQuery _
  ("Select * from Win32_Product " _
      & "Where Name = 'Personnel database'")
For Each objSoftware in colSoftware
  Wscript.Echo "Name: " & objSoftware.Name
  Wscript.Echo "Version: " & objSoftware.Version
    objSoftware.Uninstall()
Next

問題は、

  1. 実行を開始したか、完了しました

  2. アンインストールが完了しました

  3. 完了しました

これをログ ファイルまたはコンソールに表示する方法はありますか。

ありがとう

4

2 に答える 2

4

リターン コード 0 が返されたら、アンインストールは完了しUninstallています。ログファイルまたはイベントログに何かをMsgBox書き込んだり、コンソールにテキストを表示したり、テキストを書き込んだりできます (で実行している場合cscript.exe)。

少し前に、扱いを簡単にするためにこれを書きました(恥知らずなプラグを許していただければ)。次のように使用できます。

'insert class code here

Set clog = New CLogger
clog.LogToConsole = False
clog.LogFile = "C:\path\to\your.log"
clog.IncludeTimestamp = True

clog.Log "Starting"

'...

For Each objSoftware in colSoftware
  clog.Log "Uninstalling " & objSoftware.Name & " (v" & objSoftware.Version & ")"
  rc = objSoftware.Uninstall()
  If rc = 0 Then
    clog.Log "Uninstall complete"
  Else
    clog.LogError "An error occurred: " & rc
  End If
Next
clog.Log "Finished"
于 2013-03-15T18:15:36.113 に答える
1

for eachループのスクリプトにいつでもmsgboxを入れることができます

  MsgBox("Uninstalling " + objSoftware.Name)

または、 for each ループで簡単に実行できます

  Wscript.Echo "Uninstalling " + objSoftware.Name

管理者コマンドプロンプトウィンドウを開いてからvbsを実行するだけです

   wscript uninstallfile.vbs

これは、コマンド コンソールに表示されます。

于 2013-03-15T17:54:33.893 に答える