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