2012-06-20 3 views
0

В настоящее время я пишу скрипт, который анализирует ServiceTage, Computername и Username с компьютера и выводит его в текстовый файл на общем ресурсе, но кажется, что он всегда перезаписывает данные, а не добавляет к ним.Как написать текстовый файл в VBScript без перезаписи?

Код выглядит следующим образом:

'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 

Спасибо!

ответ

1

Прямо из VBScript Docs:

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

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

Из кода:

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

Диагноз:

Вы называете .CreateTextFile() с параметрами .OpenTextFile()

Устранение:

Использование .OpenTextFile():

Set filetxt = filesys.OpenTextFile(filename, 8, True) 
+0

Это может показаться смешным, но это работало - кроме этого начал писать в китайских или корейских символов. –

+0

Это звучит так, как будто вы пишете в формате/кодировке Unicode; эта функция контролируется четвертым параметром .OpenTextFile(). (См. Документы). Вторая мысль: удалили ли вы файл, созданный первым вызовом .CreateTextFile()? –

+0

Я изменил параметр формата на «-2», который сработал. Но, глядя на вашу вторую идею, я не удалял ее, и я считаю, что это вызвало эту проблему. Огромное спасибо. –

Смежные вопросы