0

我目前正在编写一个脚本,它从计算机解析 ServiceTage、Computername 和 Username 并将其输出到共享上的文本文件,但它似乎总是覆盖那里的数据而不是添加到它。

代码如下:

'Get Dell Service Tag Info
set ProSet = GetObject("winmgmts:").InstancesOf("Win32_BIOS")
Set ProSet1 = GetObject("winmgmts:").InstancesOf("Win32_SystemEnclosure")
For each Pro in ProSet
  For each Pro1 in ProSet1
    ServiceTag=Pro.SerialNumber
    exit for
  Next
  exit for
Next

'get username and computername, could also be asked in a batch
Set oShell     = WScript.CreateObject("WScript.Shell")
Set oShellEnv  = oShell.Environment("Process")
sComputerName  = oShellEnv("ComputerName")
sUsername      = oShellEnv("username")

dim filesys, filetxt, getname, path
Set filesys = CreateObject("Scripting.FileSystemObject")
Set filetxt = filesys.CreateTextFile("\\xx.xx.xx.xx\Support\DataLog.txt", 8, True)
path = filesys.GetAbsolutePathName("\\xx.xx.xx.xx\Support\DataLog.txt")
getname = filesys.GetFileName(path)
filetxt.WriteLine sUsername & ", " & sComputerName & ", " & ServiceTag
filetxt.Close

谢谢!

4

1 回答 1

1

直接来自 VBScript 文档:

object.CreateTextFile(filename[, overwrite[, unicode]])

object.OpenTextFile(filename[, iomode[, create[, format]]])

从您的代码:

Set filetxt = filesys.CreateTextFile(filename, 8, True)

诊断:

您使用 .OpenTextFile() 的参数调用 .CreateTextFile()

补救:

使用 .OpenTextFile():

Set filetxt = filesys.OpenTextFile(filename, 8, True)
于 2012-06-20T17:47:16.570 回答