我一直在尝试制作一个写在底部新行的VBScript。唯一的在线帮助似乎是让脚本找到要写入的行,但这不是我想要的。我正在创建一个日志,在txt文件底部的新行中输入信息,而不会干扰其他行上的先前日志。
答案 0 :(得分:0)
您可以使用FileSystemObject打开文件,并使用TextStream对象写入(附加)
Dim fso
Dim txtStream
Set fso = CreateObject("Scripting.FileSystemObject")
set txtStream = fso.OpenTextFile("pathtofile", 8)
txtStream.WriteLine vbCrLf & "hello world"
txtStream.Close
答案 1 :(得分:0)
通过将OpenTextFile()
方法的 iomode 参数设置为8来打开要追加的文件。
设置强>
iomode 参数可以具有以下任何设置:
Constant Value Description ForReading 1 Open a file for reading only. You can't write to this file. ForWriting 2 Open a file for writing. ForAppending 8 Open a file and write to the end of the file.
filename = "C:\path\to\your.log"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(filename, 8)
...
f.Close
答案 2 :(得分:0)
以下是另一种使用ADODB.Stream的方法。我通常更喜欢这个,因为你对Charset有了更多的控制权,你可以使用Position
更轻松地移动内容Const FILE_NAME = "file.txt"
Const adTypeText = 2
Const adSaveCreateOverWrite = 2
Const adWriteLine = 1
Const adCRLF = -1
dim stream: set stream = CreateObject("ADODB.Stream")
stream.Type = adTypeText
stream.Charset = "ASCII"
stream.LineSeparator = adCRLF
stream.Open
stream.LoadFromFile FILE_NAME
' move to the end of the stream / file
stream.Position = stream.Size
' Replace Empty with the text you want to append
stream.WriteText Empty, adWriteLine
stream.SaveToFile FILE_NAME, adSaveCreateOverWrite
stream.Close