VBS脚本运行库手册(11)-追加文本

发布时间:2019-10-31编辑:脚本学堂
VBS脚本运行库手册,追加文本。

假如你的脚本每天晚上运行,在你的 DC 上从事件日志中获得日志,将这些事件写入数据库中,纪录哪个计算机可以成功的连接到,哪个不可以。基于一些历史的目的,你或许希望跟踪明年一整年的所有成功和失败的纪录。这个对于脚本刚开始生效和网络不稳定的情况下来说,都是非常重要的。从另外的情况来说,你或许只是希望刚才脚本运行的时候发生了什么。换句话说说,你不是希望要一个日志中过去的 365 天的信息,而是要距离最近的信息。它让你可以很快的打开文件并且查找看脚本是否按照计划的运行。 

当你的文本文件用 ForWriting 模式打开的,任何写入的新的数据会替代原来存在的文件。例如,假如你的文本文件里面存储了整个莎士比亚的故事全集,但是你用脚本以 ForWriting 模式打开了这个文本,并且向里面写了一个字母 a,那么当你的这个文件写完关闭之后,它就只是包含一个字母 a,原来的数据就全部丢失了。

这个脚本以 ForWriting 模式打开脚本 C:FSOScriptlog.txt 然后将当前的日期和时间写入文件。每当脚本运行的时候,旧的时间和日期被新的取代,这个文本文件就永远只是有单独的一个日期的值。
Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:FSOScriptLog.txt", ForWriting)
objFile.Write Now
objFile.Close

许多脚本被设计成为在特定的时间间隔的时候运行,收据数据,保存数据。这些脚本的是用来分析趋势或者在过去的时间内部的使用情况。在这些情况下,你就不希望删除现在存在的数据而去替代成新的数据。 

例如,假如你用你的脚本监视进程使用量。在任何一个时间点上,进程的使用量应该是在 0 到100 之间的一个值,对于它自己来说,单个的值没有什么意义。为了获得进程使用的一个完整的图景,你需要重复不断的监视使用情况并纪录它的值。如果你的进程在每几秒钟之内返回的数据是9%,17%,92%,90%,79%,88%,91%那么你的进程使用是非常高的。这个就可以对比出这个时间内的使用情况。

如果以 ForAppending 的模式打开一个文件,你可以使数据不是覆盖现有的数据,它的数据是添加到文件的底部。例如,在 4.43 中的脚本打开一个文本文件,并且将当前的日期和时间写入文件。因为是以 ForAppending 的模式打开的文件,当前的日期会卸载文件的底部。如果你在不同的时候分别运行脚本,你的脚本结束时候大约如下面的信息: 
6/25/2002 8:49:47 AM
6/25/2002 8:49:48 AM
6/25/2002 8:50:33 AM
6/25/2002 8:50:35 AM

Const ForAppending = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:FSOScriptLog.txt", ForAppending)
objFile.WriteLine Now
objFile.Close 

上面的脚本用 WriteLine 方法写入数据保证每个日期独占一行。如果改用Write 方法,则数据会写在一起,如下:
6/25/2002 8:49:47 AM6/25/2002 8:49:48 AM6/25/2002 8:50:33 AM6/25/2002 8:50:35 AM