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
Спасибо!
Это может показаться смешным, но это работало - кроме этого начал писать в китайских или корейских символов. –
Это звучит так, как будто вы пишете в формате/кодировке Unicode; эта функция контролируется четвертым параметром .OpenTextFile(). (См. Документы). Вторая мысль: удалили ли вы файл, созданный первым вызовом .CreateTextFile()? –
Я изменил параметр формата на «-2», который сработал. Но, глядя на вашу вторую идею, я не удалял ее, и я считаю, что это вызвало эту проблему. Огромное спасибо. –