用vbs实现对文本文件中的项计数_vbs

问:
嗨,脚本专家!如何向文本文件的顶部添加行?

-- FT

答:
您好,FT。您知道,在亚瑟·柯南·道尔爵士生涯的某一时刻,他实际上将夏洛克·福尔摩斯写死了,他认为他已写完了有关这个大侦探所有能写的一切。公众的疾呼很快改变了他的想法,他迅速地使夏洛克·福尔摩斯起死回生。(按照所有肥皂剧的那种基本情节主线一路创作下来。)

我们脚本专家对亚瑟·柯南·道尔爵士深感同情。毕竟,我们会周期性地想,“好了,到这里吧;我们已编写了有关文本文件所有能编写的一切。”我们刚有此想法,就立刻收到有关文本文件的一堆问题,其中包括三个人所问的同一问题:如何向文件文件的顶部添加行?

很简单,我亲爱的华生(啊,我亲爱的 FT)。所有您需要做的只是使用类似下面的脚本:

复制代码 代码如下:

Const ForReading = 1 
Const ForWriting = 2 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForReading) 

strContents = objFile.ReadAll 
objFile.Close 

strFirstLine = "This is the new first line in the text file." 
strNewContents = strFirstLine & vbCrLf & strContents 

Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForWriting) 
objFile.WriteLine strNewContents 

objFile.Close 

注意。很有趣的是,在原本小说中夏洛克·福尔摩斯从没有说“很简单,我亲爱的华生”。我们不知道为什么他不那么说;他就是不那么说。

好了,现在游戏已经开始了,不是吗?我们首先创建一对常量 - ForReading 和 ForWriting,我们将在处理文本文件时使用这两个常量。我们创建一个 FileSystemObject 实例,然后使用 OpenTextFile 方法打开文件 C:\Scripts\Test.txt 以读取以下内容:

Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForReading)

现在文件已打开,我们使用 ReadAll 方法读取该文件的全部内容并将这些内容存储在称作 strContents 的变量中。然后我们立即关闭文件 Test.txt。为什么?是这样,通过 FileSystemObject 可打开文件进行读取或写入,但不能同时进行这两种操作。为向文件顶部添加新的一行,我们将必须对该文件进行写入;这意味着我们必须重新打开它,但这次是为了写入。

接下来我们需要为该文件构造新内容。我们不能直接向文本文件的顶部添加行;FileSystemObject 只允许向文本文件的末尾添加新行。因此,我们需要做的是在内存中创建一个全新的文件,然后用此新文件替换现有 Test.txt 的内容。新文件将由三部分组成:新的第一行;回车-换行;及该文件的现有内容。为构造此文件,我们首先使用下面的代码在称为 strFirstLine 的变量中存储新的第一行:

strFirstLine = "This is the new first line in the text file."

然后我们使用以下代码行合并新的第一行、回车-换行(使用 VBScript 常量 vbCrLf)及该文件的现有内容(存储在变量 strContents 中):

strNewContents = strFirstLine & vbCrLf & strContents

现在剩下的工作就是重新打开 Test.txt(这次是为了写入),然后使用 WriteLine 方法用新文件替换现有内容:

Set objFile = objFSO.OpenTextFile("C:\Scripts\Test.txt", ForWriting)
objFile.WriteLine strNewContents

然后我们调用 Close 方法,就像这样,大功告成。好了,文件关闭。嗨,我们只是想要模仿一下夏洛克·福尔摩斯。

说到这,您知道夏洛克·福尔摩斯有一个叫麦克罗夫特的哥哥吗?这是真的。按照推测麦克罗夫特很有天赋,但却因为太懒而没做出什么有趣或有用的事。

嗨,您说这听起来有点耳熟是何用意?没关系;您很可能指的是某个其他的每天编写脚本的专栏作家。

时间: 2024-08-30 00:49:55

用vbs实现对文本文件中的项计数_vbs的相关文章

用vbscript实现在文本文件中搜索两个项_vbs

问: 您好,脚本专家! 您曾经介绍过如何在文本文件中搜索单个词或短语,但如何在文本文件中搜索两个短语呢? 我想知道文件中是否包含 Windows 2000 或 Windows XP. -- JR 答: 您好,JR.您知道,让脚本专家去做一件事情就已经够困难的了:可见让他们去做两件事情几乎是不可能的. 但我们要告诉您的是: 只要您不介意我们向您介绍一种简单的方法来在文本文件中搜索多个项,我们就会向您介绍如何在文本文件中搜索多个项. 注意. 为什么称之为"简单的方法"呢? 我们不打算费神设

用vbscript实现从文本文件中删除所有重复行的代码_vbs

问: 您好,脚本专家!如何从文本文件中删除所有重复行? -- SW 答: 您好,SW.您知道,成为一名脚本专家便意味着开始永无止境地寻找给定问题的最终解决方案.(或者至少在我们的经理问为什么我们似乎从未真正完成什么时,我们是这么告诉他的:"老板,永无止境的寻找过程需要时间!")这就是为什么我们很高兴看到您的问题的原因.不久前 我们回答了一个关于从文本文件中删除重复名字的类似问题.我们想到的解决方案十分简单而且效果不错:只是我们不确定那是最佳解决方案.现在,很感谢您的问题,我们可以再次尝

如何实现动态添加Html文档中Form项

大家好,今天和大家谈谈如何用ASP来实现动态的添加Html文档中Form项的问题.如果你对Html比较熟悉的话肯定知道有个<form></form>的HTML标记.在<form>与</form>之间有诸如类型(type)为Text.Password.Button.Submit.Reset等的标记(元素).我们这里所说的动态的添加Form项就是指动态的添加<Form></Form>中的Text元素.那么如何去实现动态的添加Form项呢?

从文本文件中读取信息并存储入数据库

数据|数据库 ''===================================================================''从文本文件中读取信息,取其中的一部分,并且将其插入到数据库中去--'' xhony@163.com'' version 1.0''===================================================================<% dim fso,f1Const ForReading = 1 set fs

对文本文件中的记录进行排序的小工具

前几天为工作中的一个实际问题编写了一个小工具,但应该说"麻雀虽小, 五脏俱全",同样涉及到了设计.编码.测试几个过程,并且其中涉及到一些有 趣的知识,拿出来和大家分享一下. 首先来说明一下想要解决的问题: 当前每个月公司中的某个部门都会在特定的一天(一般是月初)下载大量的 数据,这些数据是从数据库中取得的,生成文本格式的文件,然后用来做后续的 处理,类似于EDI的程序.但是,后续处理的程序需要所有的记录都是经过排序 的,而现在的下载数据的程序是这样做的,直接写带有Order by的SQ

WPS 2013表格中重复项功能

  WPS 2013表格中重复项功能           本站也发布了一系列的WPS 2013测评,而本文呢,主要是介绍WPS 2013表格中重复项功能. 1.打开WPS表格,输入一些数据,方便之后的演示.选中这些数据,点击菜单栏--数据--重复项.首先我们来高亮显示重复项. 2.选定区域,按下确定按钮. 3.重复的数据即刻变为橙色的,十分醒目. 4.再来看看删除重复项功能吧,我们点击它,进行了删除,出现信息提示. 5.最后试一下拒绝录入重复项功能,我尝试输入重复的数据,却出现下图所示的提示.

python判断一个集合是否包含了另外一个集合中所有项的方法

  本文实例讲述了python判断一个集合是否包含了另外一个集合中所有项的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 >>> L1 = [1, 2, 3, 3] >>> L2 = [1, 2, 3, 4] >>> set(L1).difference(L2) set([ ]) >>> set(L2).difference(L1) set([4]) 希望本文所述对大家的Python程序设计有所帮助.

php删除文本文件中重复行的方法

  php删除文本文件中重复行的方法         本文实例讲述了php删除文本文件中重复行的方法.分享给大家供大家参考.具体分析如下: 这个php函数用来删除文件中的重复行,还可以指定是否忽略大小写,和指定换行符 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 5

Python的Django框架中TEMPLATES项的设置教程

  这篇文章主要介绍了Python的Django框架中TEMPLATES项的设置教程,主要针对Django1.8后的新特性,需要的朋友可以参考下 TEMPLATES Django 1.8的新特性 一个列表,包含所有在Django中使用的模板引擎的设置.列表中的每一项都是一个字典,包含某个引擎的选项. 以下是一个简单的设定,告诉Django模板引擎从已安装的应用程序(installed applications)的templates子目录中读取模板: ? 1 2 3 4 5 6 TEMPLATES