VBS文本文件操作实现代码

所属分类: 脚本专栏 / vbs 阅读数: 2051
收藏 0 赞 0 分享

对于文件的操作,例如:生成一个或者打开一个或者删除一个.txt格式文件。
虽然官方的FILE插件提供了一些基本功能,但功能不多。
你并不需要理解什么是fso模版,什么是vbs语句,直接套用下面的语句吧!

红色字为自己定义的部分,蓝色字为任意选一部分

如果你看不懂,请参考下面的例子!
操作同一个文件红色部分必须相同

请认真看括号内的解释内容

定义一个名为fso的关系文件问题的对象,对于一个文件的操作只需写一次,此句必须写
VBS Set fso = CreateObject("Scripting.FileSystemObject")

0.判断一个文件或文件夹是否存在(yn是返回值,文件存在返回1,不存在返回0)

VBS yn=fso.FileExists(判断文件的目录)

1.创建一个文件(蓝字定义该文本文件是否可以被下次写入覆盖,省略默认为ture)

VBS set ttfile=fso.createtextfile(创建的文件目录,ture|false)

2.打开一个已存在的文件(蓝字定义文件写入方式,分别为a.只读b.可读写,但每打开一次文件重写c.在文件末尾写)

VBS const forreading=1
VBS const forwriting=2
VBS const forappending=8

注意:要想更改打开方式必须关闭文件重新打开
VBS set ttfile=fso.opentextfile(打开文件的目录,forreading|forwriting|forappending)

3.关闭一个打开的文件(红色部分要于已经打开的文件红色部分相同)
VBS ttfile.close

4.读取打开文件的一行并回车(红色部分ttfile要于已经打开的文件红色部分相同)
VBS read=ttfile.ReadLine

5.读取所有文件内容(红色部分ttfile要于已经打开的文件红色部分相同)
VBS read=ttfile.ReadAll

6.写入一行并回车(红色部分要于已经打开的文件红色部分相同)
VBS ttfile.writeline(自己要写入的内容)

7.删除指定文件(若已定义过ttfile则不需要第一句)
VBS set  ttfile=fso.GetFile(要删的文件目录)
VBS ttfile.delete

8.判断输入标记是否在末尾(是返回-1,否则返回0)
VBS  yn=ttfile.atendofstream

以下是一些文件夹的操作
8.判断是否为根目录(yn是返回值,文件存在返回1,不存在返回0)
VBS yn=fso.IsRootFolder

9.读取文件夹
VBS set ttfile=fso.GetFolder(文件夹目录)

10.创建一个文件夹
VBS set ttfile=fso.creaFolder(创建的文件夹目录)

11.删除指定文件夹(若已定义过ttfile则不需要第一句)
VBS set  ttfile=fso.GetFolder(要删的文件目录)
VBS ttfile.deletefolder

下面是其他一些经常用到的文件操作(注意:可用于所有格式的文件。红字是你的上文脚本已经定义过的)
VBS ttfile.size                               返回文件大小
VBS ttfile.type                             返回文件类型
VBS ttfile.DateCreated                  返回文件创建时间
VBS ttfile.DatelastAccessed            返回文件最近访问时间
VBS ttfile.DateLastModified            返回文件最后修改时间
VBS ttfile.name                            返回文件名称
VBS ttfile.ShortPath                      返回文件短路径名
VBS ttfile.path                             返回文件物理地址

VBS Set fso = CreateObject("Scripting.FileSystemObject") 
//判断d盘下是否有文件1.txt 
VBS pd1=fso.FileExists(d:\1.txt) 
if 0=pd1 
//没有的话,在d盘下创建一个不可覆盖的文件1.txt 
VBS set txtfile=fso.createtextfile("d:\1.txt",false) 
//以在末尾写入的方式打开1.txt 
VBS set txtfile=fso.opentextfile("d:\1.txt",forappending) 
//写入一行“1234567890” 
VBS txtfile.writeline("1234567890") 
//关闭1.txt 
VBS txtfile.close 
endif 
//以只读方式打开1.txt 
VBS set txtfile=fso.opentextfile("d:\1.txt",forreading) 
//读取第一行,并将其赋予变量read 
VBS read=txtfile.ReadLine 
//关闭1.txt 
VBS txtfile.close

一时间没有完全列出所有函数,不足的部分希望大家跟帖补上。

'creat by 席飞剑(小席老师)
'操作文本文件,操作fso对象(文件对象操作)

创建文件

dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.CreateTextFile("C:\test.txt", true) '第二个参数表示目标文件存在时是否覆盖
f.Write("写入内容")
f.WriteLine("写入内容并换行")
f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)
f.Close()
set f = nothing
set fso = nothing

打开并读文件

dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("C:\test.txt", 1, false) '第二个参数 1 表示只读打开,第三个参数表示目标文件不存在时是否创建
f.Skip(3) '将当前位置向后移三个字符
f.SkipLine() '将当前位置移动到下一行的第一个字符,注意:无参数
response.Write f.Read(3) '从当前位置向后读取三个字符,并将当前位置向后移三个字符
response.Write f.ReadLine() '从当前位置向后读取直到遇到换行符(不读取换行符),并将当前位置移动到下一行的第一个字符,注意:无参数
response.Write f.ReadAll() '从当前位置向后读取,直到文件结束,并将当前位置移动到文件的最后
if f.atEndOfLine then
response.Write("一行的结尾!")
end if
if f.atEndOfStream then
response.Write("文件的结尾!")
end if
f.Close()
set f = nothing
set fso = nothing

打开并写文件

dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("C:\test.txt", 2, false) '第二个参数 2 表示重写,如果是 8 表示追加
f.Write("写入内容")
f.WriteLine("写入内容并换行")
f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)
f.Close()
set f = nothing
set fso = nothing

判断文件是否存在

dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FileExists("C:\test.txt") then
response.Write("目标文件存在")
else
response.Write("目标文件不存在")
end if
set fso = nothing

移动文件

dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
call fso.MoveFile("C:\test.txt", "D:\test111.txt") '两个参数的文件名部分可以不同
set fso = nothing

复制文件

dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
call fso.CopyFile("C:\test.txt", "D:\test111.txt") '两个参数的文件名部分可以不同
set fso = nothing

删除文件

dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFile("C:\test.txt")
set fso = nothing

创建文件夹

dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.CreateFolder("C:\test") '目标文件夹的父文件夹必须存在
set fso = nothing

判断文件夹是否存在

dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FolderExists("C:\Windows") then
response.Write("目标文件夹存在")
else
response.Write("目标文件夹不存在")
end if
set fso = nothing

删除文件夹

dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("C:\test") '文件夹不必为空
set fso = nothing

到这里就差不多了,希望大家多写多练

更多精彩内容其他人还在看

vbscript Split函数用法详解(字符串转数组函数)

本文详细介绍了vbscript中split函数的用法,有关split函数的一些实例,vbscript中split函数的语法介绍,有需要的朋友参考下
收藏 0 赞 0 分享

VBS实现将Excel表格保存为txt文本

希望能够找到个能给excel表另存为TXT的VBS代码,虽然另存为可以选择,但还是需要直接VBS执行这一步另存为TXT格式的,应该如何写代码呢
收藏 0 赞 0 分享

vbs解决处理TXT文本数据相关问题实现代码

使用vbs处理txt数据时,会遇到一些问题,本文将提供详细的解决方法,希望可以帮助你们
收藏 0 赞 0 分享

关于vbs 生成静态页面过程中出现的问题

访问某个aspx页面,然后把服务器返回的页面以filestream 的形式保存为html格式,接下来将介绍实现代码
收藏 0 赞 0 分享

dim函数第三个参数设置截取字符的长度问题

dim函数的第三个参数,也就是截取字符的长度,我在设置这个的时候,出了些问题,提示无效的过程调用或参数,本文详细介绍如何解决
收藏 0 赞 0 分享

邪恶的eval和new Function使用介绍

这些代码可以干什么?可以肯定的是可以干很多猥琐的事
收藏 0 赞 0 分享

WScript.Shell对象SpecialFolders属性未公开文档分享

WshShell对象的SpecialFolders属性返WshSpecialFolders 对象,该对象是一个特殊文件夹集合,其中包含整套Windows特殊文件夹
收藏 0 赞 0 分享

用VBS修改(设置)系统时间和日期的代码

用 VBS 把系统的时间修改到2038年1月19日3时14分07秒之后,这样某些依赖于 Unix 时间戳的程序就会出问题。那么怎样用 VBS 修改系统的时间呢
收藏 0 赞 0 分享

VBS For Next循环的一些细节

For Next 语句是 VBS 中常用的循环语句,你可能已经用过无数次 For Next 循环,但是你是否注意过它的一些细节呢
收藏 0 赞 0 分享

VBS For Next循环的陷阱分享

在《VBS For Next循环的一些细节》中说到了 For Next 循环的控制变量仅仅在循环开始前求值一次,但是其中存在一处陷阱
收藏 0 赞 0 分享
查看更多