VBS文本文件操作实现代码,vbs文本文件代码


对于文件的操作,例如:生成一个或者打开一个或者删除一个.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


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

更改txt文件的内容的vbs代码

看下代码符合要求不
Set f= CreateObject("Scripting.FileSystemObject")
Set f1 = f.OpenTextFile("Text.txt")
str=f1.ReadAll
f1.close
str = Replace(str, "蠢驴", "笨猪")
set f2=f.createtextfile("~text.txt")
f2.write(str)
f2.close
f.MoveFile "~text.txt" , "C:\text.abc"

VBS 文件操作

创建文本文件

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("C:\FSO\ScriptLog.txt")

检察文件是否存在

Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists("C:\FSO\ScriptLog.txt") Then
Set objFolder = objFSO.GetFile("C:\FSO\ScriptLog.txt")
Else
Wscript.Echo "File does not exist."
End If

删除文本文件

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile("C:\FSO\ScriptLog.txt")

文本操作

读取全部内容

Const ForReading = 1

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

strContents = objFile.ReadAll
objFile.Close

一行行的读取文本文件内容

Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("c:\scripts\servers.txt", ForReading)

Do Until objTextFile.AtEndOfStream
strComputer = objTextFile.ReadLine
Wscript.Echo strComputer
Loop

objTextFile.Close

追加文本文件一行内容

Const ForAppending ......余下全文>>
 

VBS操作文本文件的问题

把exe文件拖进vbs图标里
on error resume next
set fso=createobject("scripting.filesystemobject")
pth=fso.getparentfoldername(wscript.scriptfullname)
set o=fso.opentextfile(pth&"\1.txt",8,true)
if wscript.arguments(0) = "" then msgbox "请把文件拖进图标": wscript.quit
AppName=wscript.arguments(0)
o.writeline "; 脚本用 Inno Setup 脚本向导生成。"&vbcrlf&"; 查阅文档获取创建 INNO SETUP 脚本文件详细资料!"
o.writeline "AppName="& inputbox("输入","用户","百度")
o.writeline "AppName="& AppName
o.writeline "AppName="& fso.getparentfoldername(AppName)
 

评论关闭