如何在不覆盖的情况下写入 VBScript 中的文本文件? [英] How to write to a text file in VBScript, without overwriting?

查看:29
本文介绍了如何在不覆盖的情况下写入 VBScript 中的文本文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am currently writing a script which parses the ServiceTage, Computername and Username from a computer and outputs it to a text file on a share, but it seems that it always overwrites the data there rather than adding to it.

代码如下:

'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

谢谢!

推荐答案

直接来自 VBScript 文档:

Straight from the VBScript Docs:

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

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

来自您的代码:

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

诊断:

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

You call .CreateTextFile() with the parameters of .OpenTextFile()

补救措施:

使用 .OpenTextFile():

Use .OpenTextFile():

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

这篇关于如何在不覆盖的情况下写入 VBScript 中的文本文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆