首页 > 编程 > VBScript > 正文

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

2019-10-26 17:59:55
字体:
来源:转载
供稿:网友
问:
您好,脚本专家! 您曾经介绍过如何在文本文件中搜索单个词或短语,但如何在文本文件中搜索两个短语呢? 我想知道文件中是否包含 Windows 2000 或 Windows XP。
-- JR
答:
您好,JR。您知道,让脚本专家去做一件事情就已经够困难的了;可见让他们去做两件事情几乎是不可能的。 但我们要告诉您的是: 只要您不介意我们向您介绍一种简单的方法来在文本文件中搜索多个项,我们就会向您介绍如何在文本文件中搜索多个项。
注意。 为什么称之为“简单的方法”呢? 我们不打算费神设置数组或其他某个复杂的框架来进行多个搜索。 相反,我们打算在第一次搜索文件时搜索第一个术语,而后在第二次搜索文件时搜索第二个术语。 这种方法虽不是很好,但却很简单,且很有效。
以下是一小段简单的脚本,它可告诉您是否可在文本文件 C:/Scripts/Text.txt 中找到术语 Windows 2000 或 Windows XP:
复制代码 代码如下:

Const ForReading = 1 
blnFound = False 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFile = objFSO.OpenTextFile("C:/Scripts/Test.txt", ForReading) 
strContents = objFile.ReadAll 
objFile.Close 
If InStr(strContents, "Windows 2000") Then 
    blnFound = True 
End If 
If InStr(strContents, "Windows XP") Then 
    blnFound = True 
End If 
If blnFound Then 
    Wscript.Echo "Either Windows 2000 or Windows XP appears in this file." 
Else 
    Wscript.Echo "Neither Windows 2000 nor Windows XP appears in this file." 
End If 
此脚本开头定义了一个名为 ForReading 的常量,并将其值设定为 1;打开文本文件时我们将用到它。 我们还创建了一个名为 blnFound 的变量,并将其值指定为 False;我们将使用此变量来跟踪是否在文件中找到了任意一个搜索术语。 如果至少找到了一个术语,我们就将 blnFound 的值改为 True;否则,该值将保持 False 不变。
接下来我们打开文件 C:/Scripts/Test.txt 进行读取,然后使用 ReadAll 方法将该文件的所有内容读入名为 strContents 的变量中;实际上我们将对存储于内存中的此文件“副本”进行搜索。 由于我们不再需要此物理文件,因此我们调用 Close 方法将该文件关闭。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选