显示vbs脚本的日志记录

时间:2013-03-15 17:45:19

标签: vbscript uninstall

我有一个用于卸载应用程序的脚本

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 个答案:

答案 0 :(得分:4)

Uninstall返回并返回代码0时,卸载已完成。但是,您的脚本记录完全取决于您。您可以将内容写入日志文件或事件日志,显示MsgBox或将文本写入控制台(与cscript.exe一起运行时)。

不久前我写了this来简化处理(如果你原谅无耻的插件)。您可以像这样使用它:

'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"

答案 1 :(得分:1)

你总是可以在你的脚本中将msgbox放入你的每个循环中

  MsgBox("Uninstalling " + objSoftware.Name)

或者你可以为每个循环做一个简单的

  Wscript.Echo "Uninstalling " + objSoftware.Name

只需从管理命令提示符窗口打开

运行您的vbs
   wscript uninstallfile.vbs

这将显示在您的命令控制台中。