vbs读取指定的文本内容

vbs读取指定的文本内容,第1张

使用VBS的ScriptingFileSystemObject对象来读取文本内容,通过InputBox获取文件名,然后使用OpenTextFile函数打开文本文件,ReadAll函数获取所有内容,代码如下:

Set fso=WscriptCreateObject("ScriptingFileSystemObject")

file=""

Do

    Do

        file=InputBox("请输入文件路径","请输入",file)

        if file="" Then WscriptQuit

        if fsoFileExists(file) Then

            Exit Do

        else

            MsgBox "您指定的路径不存在,请重新输入!",0+48,"注意"

        End if

    Loop

    Set op=fsoOpenTextFile(file,1)

    words=opReadAll

    opClose

    wd=Mid(words,9,Len(words)-12)

    if wd="" Then

        MsgBox "数字编号为空!",0+64,"注意"

    else

        MsgBox wd,0+64,"您的数字编号是"

    End if

Loop

ScriptingFileSystemObject对象介绍

FileSystemObject对象提供一个属性和一系列方法,可用它们来 *** 纵FileSystemObject对象实现的一些从属对象。这里提供了全部的内容概要,然后介绍每一个从属对象。

1.  FileSystemObject的属性

Drivers

返回本地计算机可用的驱动器列表。

2.  FileSystemObject的方法

FileSystemObject对象提供了使用从属对象的一系列方法,从属对象包括Drive、Folder和File等对象。它也实现了用于TextStream对象的两个方法:CreateTextFile和OpenTextFile。根据所使用的对象的类型,将方法划分为三类。

(1)    与驱动器有关的方法

DriveExists(drivespec)

如果在drivespec中指定的驱动器存在,则返回True,否则返回False。drivespec参数可以是一个驱动器字母,或者是文件、文件夹的完整绝对路径

GetDrive(drivespec)

返回drivespec指定的驱动器所对应的Drive对象。drivespec可以包含冒号、路径分隔符或者是网络共享名,即:“C”、“C:”、“C:\”及“\\machine\sharename”

GetDriveName(drivespec)

用字符串返回drivespec指定的驱动器的名称。drivespec参数必须是文件或文件夹的绝对路径,或者仅仅是驱动器字母,例如:“c:”或“c”

(2)    与文件夹有关的方法

BuildPath(path,name)

在已有的路径path上增添名字为name的文件或文件夹,如果需要,则增添路径分隔符’\’

CopyFolder(source,destination,overwrite)

从指定的源文件夹source(可以包含通配符)中复制一个或多个文件夹到指定的目标文件夹destination,包含了源文件夹中的所有文件。如果source包含通配符或destination末尾是路径分隔符(‘\’),那么认为destination是要放置源文件夹的拷贝的文件夹。否则的话,认为destination是要创建的新文件夹的路径名。如果destination文件夹已经存在且overwrite参数设置为False,将产生错误,缺省的overwrite参数是True

CreateFolder(foldername)

创建一个路径名为foldername的文件夹。如果foldername已经存在将产生错误

DeleteFolder(folderspec,force)

删除由folderspec指定的一个或多个文件夹(可以在路径的最后部分包含通过配符)及文件夹中的所有内容。如果可选的force参数设置为true,那么即使文件夹包含的文件具有只读属性,也将删除该文件夹。缺省的force参数是False

FolderExist(folderspec)

如果folderspec指定的文件夹存在则返回True,否则返回False。folderspec参数可以包含文件夹的绝对或相对路径,或者仅仅是当前文件夹中看到的文件夹名

GetAbsolutePathName(pathspec)

返回明确指定文件夹的路径,其中要考虑到当前文件夹的路径。例如,如果当前文件夹是“c:\docs\sales\”,而pathspec是“jan”,返回的字符是“c:\docs\sales\jan”。通配符、””和”\\”路径 *** 作符都是可以接受的

GetFolder(folderspec)

返回folderspec指定的文件夹对应的Folder对象。folderspec可以是文件夹的相对的或绝对的路径

GetParentFolderName(pathspec)

返回pathspec文件或文件夹的上一级文件夹。不检验该文件夹是否存在

GetSpecialfolder(folderspec)

返回一个特定的Windows文件夹相对应的Folder对象。参数folderspec的允许值是WindowsFolder(0)、SystemFolder(1)和TemporaryFolder(2)

MoveFolder(source,destination)

将source指定的一个或多个文件夹移动到destination指定的文件夹。在source里可以包含通配符,但在destination中不行。如果source包含通配符或destination末尾是路径分隔符(‘\’),则认为destination是要放置源文件夹的文件夹,否则认为它是一个新文件夹的完整路径和名字。如果目的文件夹destination已经存在则产生错误

(3)    与文件有关的方法

CopyFile(source,destination,overwrite)

将source(可包含通配符)指定的一个或多个文件复制到指定的目标文件夹destination。如果source包含通配符或destination末尾是路径分隔符(‘\’),那么认为destination是文件夹。否则认为destination为一新文件的完全路径和名称。如果目标文件夹已经存在且overwrite参数设置为False,将产生错误。缺省的overwrite参数是True

CreateTextFile(filename,overwrite,

unicode)

用指定的文件名filename在磁盘上创建一个新的文本文件,并返回与其对应的TextStream对象,如果可选的overwrite参数设置为True,则覆盖同一路径下已有的同名文件。缺省的overwrite参数是False。如果可选的unicode参数设置为True,则该文件的内容将存储为Unicode文本,缺省的unicode参数是False

DeleFile(filespec,force)

删除由filespec指定的一个或多个文件(可以在路径的最后部分包含通配符)。如果可选的force参数设置为true,那么也删除具有只读属性的文件。缺省的force参数是False

FileExists(filespec)

如果filespec指定的文件存在则返回True,否则返回False。filespec参数可以包含文件的绝对路径或相对路径,或者是当前文件夹中的文件名

GetBaseName(filespec)

返回filespec指定的文件的名称,即包含文件路径但去掉了文件的扩展名

GetExtensionName(filespec)

返回filespec指定的文件的扩展名

GetFile(filespec)

返回filespec指定的文件所对应的File对象。可以指定文件的相对或绝对路径

GetFileName(pathspec)

返回pathspec指定的文件的路径或文件名,如果没有文件名就返回最后的文件夹名。不检查该文件或文件夹是否存在

GetTempName()

返回一个随机产生的文件名,用于完成运算所需的临时文件或文件夹

MoveFile(source,destination)

将source指定的一个或多个源文件移动到destination指定的目的文件夹。在source里可以包含通配符,但destination不行。如果source包含通过配符或destination末尾是路径分隔符(‘\’),那么认为destination是一文件夹。否则,认为destination是一新文件夹的完整路径和名称。如果目的文件夹已经存在则产生错误

OpenTextFile(filename,iomode,create, format)

创建一个名叫做filename的文件,或打开一个现有的名为filename的文件,并且返回一个与其相关的TextStream对象。filename参数可以包含绝对或相对路径。iomode参数指定了所要求的访问类型。允许的数值是ForReading(1)(缺省)、ForWriting(2)、ForAppending(8)。当写入或追加到一个不存在的文件时,如果create参数设置为true,就将创建一个新文件。缺省的create参数是False。format参数说明对文件读或写的数据格式。允许数值是:TristatetFalse(0)(缺省),按照ASCII格式打开;TristatetTrue(-1),按照Unicode格式打开;TristateDefault(-2),用系统缺省格式打开

Unicode文件使用两个字节标识每个字符,取消了ASCII字符最多256个的限制。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

对该文本文件多次写入数据时不影响之前写入的数据; 读数据是只读取文本中指定行的部分数据 谢谢

解析:

用FileSystemObject对象创建一个TextStream便实现对文本文件的读写

---------------------------------------------------

创建指定文件并返回 TextStream 对象,该对象可用于读或写创建的文件。

语法

objectCreateTextFile(filename[, overwrite[, unicode]])

CreateTextFile 方法的语法有以下部分:

object 必选项。应为 FileSystemObject 或 Folder 对象的名称。

filename 必选项。字符串表达式,指明要创建的文件。

overwrite 可选项。Boolean 值指明是否可以覆盖现有文件。如果可覆盖文件,该值为 True;如果不能覆盖文件,则该值为 False 。如果省略该值,则不能覆盖现有文件。

unicode 可选项。Boolean 值指明是否以 Unicode 或 ASCII 文件格式创建文件。如果以 Unicode 文件格式创建文件,则该值为 True;如果以 ASCII 文件格式创建文件,则该值为 False。如果省略此部分,则假定创建 ASCII 文件。

说明

以下代码举例说明如何使用 CreateTextFile 方法创建并打开文本文件:

Sub CreateAfile

Dim fso, MyFile

Set fso = CreateObject("ScriptingFileSystemObject")

Set MyFile = fsoCreateTextFile("c:\testfiletxt", True)

MyFileWriteLine("这是一个测试。")

MyFileClose

End Sub

对于 filename 已经存在的文件,如果 overwrite 参数为 False,或未提供此参数时,则会出现错误。

-----------------------------------------------------------

描述

打开指定的文件并返回一个 TextStream 对象,可以读取、写入此对象或将其追加到文件。

语法

objectOpenTextFile(filename[, iomode[, create[, format]]])

OpenTextFile 方法的语法有以下部分:

object 必选项。应为 FileSystemObject 对象的名称。

filename 必选项。字符串表达式,指明要打开的文件名称。

iomode 可选项。输入/输出模式,是下列三个常数之一:ForReading,ForWriting,或 ForAppending。

create 可选项。Boolean 值,指出当指定的 filename 不存在时是否能够创建新文件。允许创建新文件时为 True,否则为 False。默认值为 False。

format 可选项。三个 Tristate 值之一,指出以何种格式打开文件。若忽略此参数,则文件以 ASCII 格式打开。

设置

iomode 参数可为下列设置之一:

ForReading 1 以只读模式打开文件。不能对此文件进行写 *** 作。

ForWriting 2 以只写方式打开文件。不能对此文件进行读 *** 作。

ForAppending 8 打开文件并在文件末尾进行写 *** 作。

format 参数可为下列设置之一:

TristateUseDefault -2 以系统默认格式打开文件。

TristateTrue -1 以 Unicode 格式打开文件。

TristateFalse 0 以 ASCII 格式打开文件。

说明

以下代码举例说明如何使用 OpenTextFile 方法打开写文件:

Sub OpenTextFileTest

Const ForReading = 1, ForWriting = 2, ForAppending = 8

Dim fso, f

Set fso = CreateObject("ScriptingFileSystemObject")

Set f = fsoOpenTextFile("c:\testfiletxt", For Writing, True)

fWrite "嗨,你好!"

fClose

End Sub

-------------------------------------------------------------

另TextStream还有如下方法:

Close 方法

Read 方法

ReadAll 方法

ReadLine 方法

Skip 方法

SkipLine 方法

Write 方法

WriteLine 方法

WriteBlankLines 方法

详细可参阅VBScript 50 帮助文档

以上就是关于vbs读取指定的文本内容全部的内容,包括:vbs读取指定的文本内容、VBScript中怎样对文本文件里读写数据、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9572891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存