FSO 文件系统对象手册

合集下载

VBS脚本中文件操作FSO大全

VBS脚本中文件操作FSO大全

FSO============Set fso = CreateObject("Scripting.FileSystemObject")词句必须写上,FSO 对象模型包含在 Scripting 类型库中,要访问现有驱动器、文件或文件夹,则使用 FileSystemObject 对象中的适当的"get" 方法GetDriveGetFolderGetFileSet f1 = fso.GetFile("c:\test.txt")这样就有了句柄f1对于"create"方法,可创建文件和文件夹Set File = fso.CreateFolder("C:\MyTest")File 是返回的句柄一旦有了对象的句柄,就可以访问它的属性1:所有对象的属性AtEndOfLine 属性如if file.AtEndOfLine=true ……AtEndOfLine 属性只能应用于打开用来读取(:1)的TextStream 文件,在一行末尾为trueAtEndOfStream 属性如果文件指针位于 TextStream 文件的末尾,则返回 True;如果不是,则返回False。

Attributes 属性设置或返回文件或文件夹的属性。

AvailableSpace 属性返回指定的驱动器或网络共享上,可供用户使用的空间大小。

Column 属性返回 TextStream 文件中当前字符位置的列号。

CompareMode 属性设置并返回比较模式,用于比较 Dictionary 对象中的字符串关键字。

Count 属性返回集合或 Dictionary 对象中的项目数。

DateCreated 属性返回指定的文件或文件夹的创建日期和时间。

只读。

DateLastAccessed 属性返回指定的文件或文件夹上一次被访问的日期和时间。

DateLastModified 属性返回指定的文件或文件夹上一次被修改的日期和时间。

VBA_FSO对象模型

VBA_FSO对象模型

VBA FSO对象模型详解一、简介文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。

通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。

FSO 对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。

更令人高兴的是FSO 对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CD-ROM还是可移动磁盘,当前磁盘的剩余空间还有多少。

而以前要获取这些信息必须通过调用Windows API函数集中的相应函数才能实现。

FSO对象模型包含在Scripting 类型库(Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject 和TextStream五个对象。

其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。

需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO 对象模型中无处不在;最后的TextStream对象则是用来完成对文件的读写操作的。

FSO详解

FSO详解

FSO是FileSystemObject或Scripting.FileSystemObject的缩写,为IIS 内置组件,用于操作磁盘、文件夹或文本文件。

FSO 的对象、方法和属性非常的多,这里用示例的方式列出常用的,注意:《VBScript 语言参考》或《JScript 语言参考》中的:《FileSystemObject 用户指南》和《Scripting 运行时库参考》便是微软给出的FileSystemObject 完整参考。

FSO 不能操作二进制文件,要操作二进制文件,使用:ADODB.Stream。

创建文件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 = nothingset fso = nothing打开并读文件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 thenresponse.Write("一行的结尾!")end if if f.atEndOfStream thenresponse.Write("文件的结尾!")end iff.Close()set f = nothingset fso = nothing打开并写文件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 = nothingset fso = nothing判断文件是否存在set fso =server.CreateObject("Scripting.FileSystemObject")if fso.FileExists("C:\test.txt") thenresponse.Write("目标文件存在")elseresponse.Write("目标文件不存在")end ifset fso = nothing移动文件set fso =server.CreateObject("Scripting.FileSystemObject")call fso.MoveFile("C:\test.txt", "D:\test111.txt") '两个参数的文件名部分可以不同set fso = nothing复制文件set fso =server.CreateObject("Scripting.FileSystemObject")call fso.CopyFile("C:\test.txt", "D:\test111.txt") '两个参数的文件名部分可以不同set fso = nothing删除文件set fso =server.CreateObject("Scripting.FileSystemObject")fso.DeleteFile("C:\test.txt")set fso = nothing创建文件夹set fso =server.CreateObject("Scripting.FileSystemObject")fso.CreateFolder("C:\test") '目标文件夹的父文件夹必须存在set fso = nothing判断文件夹是否存在set fso =server.CreateObject("Scripting.FileSystemObject")if fso.FolderExists("C:\Windows") thenresponse.Write("目标文件夹存在")elseresponse.Write("目标文件夹不存在")end ifset fso = nothing删除文件夹set fso =server.CreateObject("Scripting.FileSystemObject")fso.DeleteFolder("C:\test") '文件夹不必为空set fso = nothing检测驱动器C盘是否存在Set fso =Server.CreateObject("Scripting.FileSystemObject") fso.DriveExists("c:")获取文件路径的驱动器名Setfso=Server.CreateObject("Scripting.FileSystemObject") p=fso.GetDriveName(Server.MapPath("aqa33")) Response.Write("驱动器名称是:" & p) set fs=nothing取得某个指定的路径的父文件夹的名称Setfso=Server.CreateObject("Scripting.FileSystemObject") p=fso.GetParentFolderName(Server.MapPath("aqa331.as p"))Response.Write("父文件夹名称是:" & p)set fs=nothing取得指定路径中的最后一个成分的文件扩展名Set fs=Server.CreateObject("Scripting.FileSystemObject") Response.Write(fs.GetExtensionName(Server.MapPath(" aqa33.asxd")))set fs=nothing取得指定路径中的最后一个成分的文件名Set fs=Server.CreateObject("Scripting.FileSystemObject") Response.Write(fs.GetFileName(Server.MapPath("aqa33. asxd")))set fs=nothing返回在指定的路径中文件或者文件夹的基本名称。

文件系统模型FSO

文件系统模型FSO

一般指的就是系统文件夹:\windows\system32,临时文件夹,windows文件夹,在前几篇的时候,[作者:临汾市外事旅游局薛靖澜,转载请注明出处]我们提过一下:例如
set fs=wscript.createobject(“scripting.filesystemobject”)
writeblanklines(n) 写入n个空行
注意:最后一定要使用close方法关闭文件。
转载
Vbs脚本编程简明教程之八 FSO的基本操作 (2008-12-10 11:47:01)转载 标签: it 分类: VBS(服务器篇)
文件夹操作
1、使用fso
由于fso不是wsh的一部分,所以我们需要建立他的模型
例如set fs=wscript.createobject(“scripting.filesystemobject”)
if fso.fileexists(“c:\kk.txt”) then
msgbox “文件已存在”
else
set f=fso.createtextfile(“c:\kk.txt”)
end if
如需要强制覆盖已存在的文件,则在文件名后加true参数。
三、复制、移动、删除文件:使用copyfile方法、movefile方法、deletefile方法。例如:
2、读取文件:read(x)读x个字符;readline读一行;readall全部读取
如:set ffile=fso.opentextfile(“c:\kk.txt”,1,true)
value=ffile.read(20)
line=ffile.readline
contents=ffile.readall

FSO组件之文件操作

FSO组件之文件操作
打开了该文件,接下来是不是要显示文件中的内容?那就通过txt.ReadLine方法读取文本中的一整行,如果需要继续读取下一行,则继续使用txt.ReadLine方法。当然初此还有其它的读取方法,比如txt.Read(7)读取指定数量的字符,txt.ReadAll返回文本中的全部内容。
二、fso.CreateTextFile 如fso.CreateFolder建立文件夹般,fso.CreateTextFile则是建立文件了。
那根据这个可以继续地扩展内容:比如让记数用数字图片显示。当然前提就是你需要0-9的10张记数图片,并将此图片放于img文件夹中。 下为一增强的txtcount.asp内容代码。
<%whichfile=server.mappath("counter.txt")set fso=createobject("Scripting.FileSystemObject")set openfile=fso.opentextfile(whichfile,1)visitors=openfile.readlineopenfile.closeCountLen=len(visitors)response.write "您是本页的第"for i=1 to 6-countLen '表示最大值999999 response.write "<img src=img/0.gif></img>"next for i=1 to countlen response.write "<img src=img/" & mid(visitors,i,1) & ".gif></img>"nextresponse.write "位访客"visitors=visitors+1set creatfile=fso.createtextfile(whichfile)creatfile.writeLine(visitors)creatfile.closeset fso=nothing%>

FSO操作全集

FSO操作全集

FSO操作全集on error resume nextSet fso=CreateObject("Scripting.FileSystemObject") '使FSO组件可以被fso变量调用getfso=fso.DriveExists("g:\") '判断指定硬盘驱动器是否存?getfso=fso.GetDrive("c:") '创建自定义的FSO驱动器对?getfso=fso.GetDriveName("c:\网络程序员伴?) '返回文件夹的所在盘?Set getfso=fso.Drives '创建FSO驱动器集合对?多配合for each i ingetfso语句进行穷尽操作,支持所有[驱动器对象属姓],并具有Count和Item属姓Set fso=Nothing '释放fso变量与FSO组件的连接资?驱动器对象操?on error resume nextgetfso=fso.GetDrive("c:").FileSystem '返回驱动器对象的文件系统类型getfso=fso.GetDrive("c:").DriveType '返回驱动器对象的驱动器类?返回值范?-5 getfso=fso.GetDrive("c:").DriveLetter '返回驱动器对象的字母getfso=fso.GetDrive("c:").IsReady '返回指定驱动器是否准备好或是否损?getfso=fso.GetDrive("c:").SerialNumber '返回驱动器对象的唯一十进制卷标序? getfso=fso.GetDrive("c:").ShareName '返回驱动器对象的网络共享?getfso=fso.GetDrive("c:").V olumeName '返回驱动器对象的卷标?同时也可以设置其卷标? getfso=fso.GetDrive("c:").Path '返回驱动器的实际路径,如c:\则返回c:getfso=fso.GetDrive("c:").RootFolder '返回驱动器对象的跟文件夹getfso=fso.GetDrive("c:").AvailableSpace'返回驱动器对象的可用容量大小getfso=fso.GetDrive("c:").FreeSpace '返回驱动器对象的剩余空间大小getfso=fso.GetDrive("c:").TotalSize '返回驱动器对象的总空间容量大?Set fso=Nothing '释放fso变量与FSO组件的连接资?系统文件夹操?on error resume nextgetfso=fso.GetFolder("c:\") '创建自定义的FSO文件夹对?getfso=fso.FolderExists("e:\网络程序员伴?) '判断指定文件夹是否存?getfso=fso.GettempName '随机返回WINDOW产生在temp文件夹中的临时文? getfso=fso.GetparentFolderName("e:\网络程序员伴?) '返回指定文件夹的父文件夹fso.CreateFolder "c:\windows\新创建的文件夹路径及名称"fso.MoveFolder "c:\windows\许移动或改名的文件夹","c:\windows\移动路径和新的文件夹?fso.DeleteFolder "c:\windows\要删除的目录?,false/truefso.CopyFolder "c:\windows\须复制的目录?,"c:\windows\得到付值内容的目录?,false/true Set getfso=fso.Folders '创建FSO文件夹集合对?多配合for each i ingetfso语句进行穷尽操作,支持所有[文件夹对象属姓],并具有Count和Item属姓,具有AddFolders方法Set getfso=fso.Files '创建FSO文件夹内文件集合对象,多配合for each i ingetfso语句进行穷尽操作,支持所有[文件对象属姓],并具有Count和Item属姓Set fso=Nothing '释放fso变量与FSO组件的连接资?/script>文件夹对象操?getfso=fso.GetFolder("c:\windows").Name '返回文件夹的名字,这里返回WINDOW getfso=fso.GetFolder("c:\windows").ShortName '返回文件夹[8.3]格式的名?getfso=fso.GetFolder("c:\windows").Attributes'返回文件夹的属姓,可返?,1,2,4,8,16,32,64,128getfso=fso.GetFolder("c:\windows").Size '返回文件?包括子文件夹)内文件占用空间大? getfso=fso.GetFolder("c:\windows").Type '返回文件夹类型信?getfso=fso.GetFolder("c:\windows").Path '返回文件夹的真实路径getfso=fso.GetFolder("c:\windows").ShortPath '返回文件夹[8.3]格式的路?getfso=fso.GetFolder("c:\windows").Drive '返回文件夹所在驱动器getfso=fso.GetFolder("c:\windows").Files.count '返回文件夹包含的所有文件对象集? getfso=fso.GetFolder("c:\windows").SubFolders.count '返回文件夹包含的所有子文件夹的对象集合getfso=fso.GetFolder("c:\windows").ParentFolder '返回文件夹的父文件夹对象getfso=fso.GetFolder("c:\windows").IsRootFolder '返回文件夹是否为跟文件夹,是返回true否返回falsegetfso=fso.GetFolder("c:\windows").DateCreated '返回文件夹的最初创建时? getfso=fso.GetFolder("c:\windows").DateLastAccessed '返回文件夹最后一次访问时?getfso=fso.GetFolder("c:\windows").DateLastModified '返回文件夹最近修改的时间fso.GetFolder("c:\windows").CreateTextFile "新建的文件名及后缀",true/false,true/false fso.GetFolder("c:\windows\要删除的目录?).Delete truefso.GetFolder("c:\windows\要移动改名的目录?).Move "文件夹将要移动到的路径及自定义文件夹名称"fso.GetFolder("c:\windows\旧目?).Copy "复制到路?,true/false'在指定路径付值此文件?true=覆盖,false相反Set fso=Nothing '释放fso变量与FSO组件的连接资?/script>系统文件操作getfso=fso.GetFile("c:\windows\help.html") '得到文件完整路径getfso=fso.GetFileName("c:\windows\help.html") '得到文件名称和后缀getfso=fso.GetExtensionName("c:\windows\help.html") '得到文件的文件类?后缀),不含小数?getfso=fso.FileExists("c:\windows\文件?html") '判断文件是否存在fso.MoveFile "要移动及改名的原文件路径","移动到某路径及自定义新文件名" fso.DeleteFile "c:\windows\要删除的文件所在路?,false/truefso.CopyFile "c:\windows\须复制的旧文?txt","c:\windows\复制后的文件?jpg",false/true fso.OpenTextFile "c:\windows\desktop\要打开操作的文件名?txt",1/2/8,true/false,0/-1/-2'ForReading=1=只读方式,ForWriting=2=可写方式,ForAppending=8=追加方式.true=如果打开的文件不存在则创建该文件.TristateFalse=0=以系统默认方式打开,TristateTrue=-1=以Unicode格式打开文件,TristateUseDefaule=-2=以ASCLL格式打开文件(缺剩?fso.CreateTextFile "c:\windows\desktop\新建的文件名?txt",false/true,false/true'前者true覆盖以存在同名文?后者为true新文件将以Unicode方式创建,反之=结果相反Set fso=Nothing '释放fso变量与FSO组件的连接资?getfso=fso.GetFile("c:\windows\笔记?txt").Name '返回文件对象的名称包含后缀getfso=fso.GetFile("c:\windows\笔记?txt").ShortName '返回文件对象的[8.3]名称包含后缀getfso=fso.GetFile("c:\windows\笔记?txt").Attributes'返回文件对象的属?可返?,1,2,4,8,16,32,64,128getfso=fso.GetFile("c:\windows\笔记?txt").Size '返回文件对象的大?getfso=fso.GetFile("c:\windows\笔记?txt").Type '返回文件对象的类?getfso=fso.GetFile("c:\windows\笔记?txt").Path '返回文件对象的完整路?getfso=fso.GetFile("c:\windows\笔记?txt").ShortPath '返回文件对象的[8.3]的完整路? getfso=fso.GetFile("c:\windows\笔记?txt").Drive '返回此文件对象所在的驱动? getfso=fso.GetFile("c:\windows\笔记?txt").ParentFolder '返回文件对象所在的文件?getfso=fso.GetFile("c:\windows\笔记?txt").DateCreated '返回文件对象的创建日? getfso=fso.GetFile("c:\windows\笔记?txt").DateLastAccessed '返回文件对象的最后访问日?getfso=fso.GetFile("c:\windows\笔记?txt").DateLastModified '返回文件对象的最后修改时?fso.GetFile("c:\windows\笔记?txt").Copy "复制到的路径和文件名",true/falsefso.GetFile("c:\windows\笔记?txt").Delete truefso.GetFile("c:\windows\笔记?txt").Move "移动到的路径及自定义文件?Set fso=Nothing '释放fso变量与FSO组件的连接资?文件对象读写操作set link1=fso.GetFile("c:\windows\笔记?txt").OpenAsTextStream(1/2/8,0/-1/-2) open1=link1.AtendOfline '判断文件指针是否以在行的末尾open2=link1.AtendOfstream '判断文件指针是否一再文件的末尾open3=link1.Column '返回当前字符所在文件的列号open4=link1.Line '返回当前字符所在文件的行号open5=link1.Read(10) '读取文件中指定数量的字符open6=link1.ReadAll '读取文件中所有的字符open7=link1.ReadLine '读取文件中一行中含有的字?open8=link1.Write "字符? '将自定字符串或字符串变量写入文件open9=link1.WriteLine "字符" '将自定字?一个换行符写入文件open10=link1.WriteBlankLines 10 '将指定数量的换行符写入文?open11=link1.Skip 10 '使文件指针跳过指定数量的字符open12=link1.SkipLine '使文件指针跳到下一?link1.Close '文件操作完毕,销毁文件对象指?Set fso=Nothing '释放fso变量与FSO组件的连接资?。

FSO入门级教程

FSO入门级教程

Internet账号(IUSER_机器名)通常只有读权限,这意味着用户永远无法写guestbook文件。所以必须想办法解决。
第一个办法,是让用户首先要用一个有写权限的账号登录。但实际上所有从Internet访问的用户都是以anonymous登录,所以这个方法比较难实现。
第二个方法是建立一个允许账号为 IUSER_机器名 的用户读写的目录。但这样可能会带来安全漏洞。如果这个目录让黑客知道了,就可以往里面写一些代码并通过某种方式运行它,那你就惨了。所以最好将这个目录建立在Web路径之外(也就是inetpub路径之外)。
If InStr(1, strFileContents, strSearchText, 1) then
Response.Write "<A href="/oblog3/"/" & &""">" & & "</A><BR>"
bolFileFound = True
ForReading = 1, ForWriting = 2, ForAppending = 3
' 打开文件
set file = fso.opentextfile(path, ForAppending, TRUE)
' 把信息写入文件
file.write(strName) &amp; vbcrlf
<%
' 建立fso对象
set fso = Server.Createobject("Scripting.FileSystemObject")

blissQTP之文件系统操作

blissQTP之文件系统操作

bliss-QTP之文件系统操作目录1.文件系统对象FSO(FileSystemObject)51.1FSO对象的属性61.2FSO对象的方法:61.2.1BulidPath(path,name):把文件路径信息添加到现有的文件路径上61.2.2CopyFile(source,destination,overwrite):复制文件 (6)1.2.3CopyFolder(source,destination,overwrite):复制文件夹 (7)1.2.4CreateFolder(foldername):创建文件夹并返回一个folder对象 (7)1.2.5CreateTextFile(filename,overwrite,unicode):创建文本并返回一个TextStream对象filename:必选项。

指定创建文本文件的名称 (8)1.2.6DeleteFile(filespec,force):删除文件 (8)1.2.7DeleteFolder(folderspec,force):删除文件夹及其中所有内容 (9)1.2.8DriveExits(drivespec):确定驱动器是否存在返回true或false 9 1.2.9FileExits(filespec):确定一个文件是否存在 (10)1.2.10FolderExists(folderspec):确定某文件夹是否存在 (10)1.2.11........ GetAbsolutePathName (pathspec):从提供的路径说明中返回一个完整、明确的路径。

(10)1.2.12GetBaseName(filespec):返回一个文件或文件夹的基本路径 (11)1.2.13GetDrive(drivespec):返回一个dreve对象 (11)1.2.14GetDriveName(drivespec):返回一个驱动器的名字 (11)1.2.15GetExtensionName(filespec):返回扩展名 (11)1.2.16GetFile(filespec):返回一个file 对象 (12)1.2.17GetFileName(pathspec):返回文件夹中文件名称 (12)1.2.18GetFolder(Folderspec):返回一个folder对象 (12)1.2.19........ GetParentFolderName(pathspec):返回一个文件夹的父文件夹 (13)1.2.20GetSpecialFolder(Folderspec):返回指定的特殊文件夹 (13)1.2.21GetTempName():返回随机产生的文件名,用于进行需要临时文件或临时文件夹的操作 (13)1.2.22MoveFile(source,destination):移动文件 (14)1.2.23MoveFolder(source,destination):移动文件夹 (14)1.2.24OpenTextFile(filename,iomode,create,format):打开一个存在的文件并返回一个TextStream对象 (14)2. 通过FSO对象访问的几个常用对象 (16)2.1Drives集合:只读所有可用驱动器的集合 (16)2.2Folders集合:提供文件夹中子文件夹的列表 (20)2.3Textstream对象:读写文本文件261.文件系统对象FSO(FileSystemObject)对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件等。

VB6中的FSO对象模型

VB6中的FSO对象模型

VB6中的FSO对象模型--------------------------------------------------------------------------------在编程中,我们经常需要对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件等。

在VB6中新提供了一套称为FSO (File System Object)对象模型来对文件系统进行访问处理。

该模型提供了一个基于对象的工具,通过它所提供的一系列属性和方法,我们可以在应用程序中更简单、灵活地对文件系统进行各种操作。

一、FSO简介FSO对象模型包含以下几种对象:Drive对象:允许收集系统物理或通过LAN与系统逻辑连接的硬盘、CD-ROM等驱动器的可用空间、共享名等信息。

Folder对象:允许创建、删除或移动文件夹,并向系统查询文件夹的名称、路径等。

Files对象:允许创建、删除或移动文件,并向系统查询文件的名称、路径等。

TextStream对象:允许创建和读写文本文件。

FileSystemObject对象:提供一整套用于驱动器、文件夹和文件操作的方法,在功能上可以把它看作是上面几个对象的集合并且经常与它们配合使用。

与该对象相关联的很多方法重复了前面四个对象中的方法,因此我们既可以通过FileSystemObject对象来对驱动器、文件夹和文件进行大多数操作,也可以通过对应的驱动器、文件夹或文件对象对这些组件进行操作。

FSO模型通过两种方法实现对同一对象的操作,其操作效果是相同的,提供这种冗余功能的目的是为了实现最大的编程灵活性。

FSO对象模型包含在一个称为Scripting的类型库中,此类型库位于Scrrun.dll文件中,可从“工程”选单的“引用”对话框中选择“Microsoft Scripting Runtime”项来引用此文件。

创建一个FileSystemObject对象,可以通过如下两种方法来完成:1 将一个变量声明为FileSystemObject对象类型:Dim fso As New FileSystemObject;2 使用CreateObject方法来创建:Set fso=CreateObject(″Scripting.FileSystemObject″)。

VB中利用FSO对象对文件夹操作

VB中利用FSO对象对文件夹操作

VB中利用FSO对象对文件夹操作windows还给我们提供了一个叫做FileSystemObject(简称FSO)对象。

FSO 对象模型中包括了计算机文件系统所有的对象。

见下。

利用这些对象可以更方便的操作文件系统。

对象功能Drive允许收集系统的驱动器信息,诸如驱动器的可用空间Folder允许创建、删除或移动文件夹,并向系统查询文件夹的名称、路径等等Files允许创建、删除或移动文件,并向系统查询文件的名称、路径等等FileSysterObject此为主要对象,提供一整套用于创建、删除、搜集相关信息,以及通常的操作驱动器,文件夹,和文件的方法。

TextStream允许读写文本文件下面我们一起来看看怎样用FSO对象来显示、新建、修改以及删除目录。

FSO对象模型包含在Scripting的类型库中,此类型库存在于Scrrun.dll文件中.使用FSO对象模型,首先要建立一个FileSystemObject对象。

有两种方法可以实现。

一种是从”工程”菜单中的”引用”对话框选择”Microsoft Scripting Runtime”项,然后在代码窗口中声明一个FileSystemObject类型的变量.语句如下:Dim fso As New FileSystemObject另一种方法是在代码中使用CreatObject方法动态的创建一个FileSystemObject对象.语句如下:Dim fso As Object …声明对象变量Set fso = CreatObject(“Scripting. FileSystemObject”) …创建FSO对象我们具体看看FileSystemObject的主要属性.1、驱动器(1) Drives属性是FileSystemObject对象的唯一属性,它返回Drives集合中所有可用驱动器的只读集合。

对于可删除的驱动器,不需要将媒体插入其中,就可以在Drives集合中显示出来。

ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

FSO的意思是FileSystemObject,即文件系统对象。

FSO对象模型包含在Scripting 类型库 (Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象,用来操作文件和文件夹十分方便。

(请注意后面的常用函数)FSO文件(File)对象属性DateCreated 返回该文件夹的创建日期和时间DateLastAccessed 返回最后一次访问该文件的日期和时间DateLastModified 返回最后一次修改该文件的日期和时间Drive 返回该文件所在的驱动器的Drive对象Name 设定或返回文件的名字ParentFolder 返回该文件的父文件夹的Folder对象Path 返回文件的绝对路径,可使用长文件名ShortName 返回DOS风格的8.3形式的文件名ShortPath 返回DOS风格的8.3形式的文件绝对路径Size 返回该文件的大小(字节)Type 如果可能,返回一个文件类型的说明字符串FSO文件(File)对象方法FSO文件对象方法用途CopyFile 拷贝一个或者多个文件到新路径CreateTextFile 创建文件并且返回一个TextStream对象DeleteFile 删除一个文件OpenTextFile 打开文件并且返回TextStream对象,以便读取或者追加重命名文件:Function reName(sourceName,destName)dim oFso,oFileset oFso=server.createobject("Scripting.FileSystemObject")set oFile=oFso.getFile(Server.mappath(sourceName))=destNameSet oFso=NothingSet oFile=NothingEnd Function删除文件:Function FSOdel(fileName)dim fso,fset fso = server.CreateObject("scripting.filesystemobject")f=server.MapPath(fileName)if fso.FileExists(f) thenfso.DeleteFile f,trueend ifset f = nothingset fso = nothingEnd Function替换文件中的字符串:Function FSOreplace(fileName,Target,repString)Dim objFSO,objCountFile,FiletempDataSet objFSO = Server.CreateObject("Scripting.FileSystemObject")Set objCountFile = objFSO.OpenTextFile(Server.MapPath(fileName),1,True) FiletempData = objCountFile.ReadAllobjCountFile.CloseFiletempData=Replace(FiletempData,Target,repString)Set objCountFile=objFSO.CreateTextFile(Server.MapPath(fileName),True) objCountFile.Write FiletempDataobjCountFile.CloseSet objCountFile=NothingSet objFSO = NothingEnd Function<%'*******************************************************'函数名:CreateFolder(sPath)'作用: 创建目录'参数:sPath : 创建的相对目录路径'返回值:成功 true , 失败 false'*******************************************************'response.Write createfolder("/dgsunshine/UploadFile/demo1/")Function CreateFolder(sPath)On Error Resume NextDim Fso,Arrfolder,Folder,i,jIf sPath="" thenCreateFolder = FalseExit FunctionEnd IfIf Left(sPath,1) = "/" ThenFolder = "/"sPath = Mid(sPath,2,Len(sPath))ElseFolder = "./"End Ifif Right(sPath,1) = "/" then sPath = Left(sPath,Len(sPath)-1) ArrFolder = Split(sPath,"/")Set Fso = Server.CreateObject("Scripting.FileSystemObject")For i = 0 To Ubound(ArrFolder)If i = 0 thenFolder = Folder & ArrFolder(i) & "/"ElseFolder = Folder & ArrFolder(i) & "/"End IfIf Fso.folderExists(Server.MapPath(Folder)) = False then response.Write server.MapPath(folder)Fso.createFolder(Server.MapPath(Folder))End IfNextSet Fso = nothingIf Err.Number <> 0 thenErr.clear()CreateFolder = FalseElseCreateFolder = TrueEnd IfEnd functionFunction getFile(paramFilePath)Set Fso = Server.CreateObject("Scripting.FileSystemObject") Set Fso_Read =fso.OpenTextFile(Server.MapPath(paramFilePath),1,false,-2)getFile = Fso_Read.readallSet Fso_Read = NothingSet Fso = NothingEnd Function'*******************************************************'函数名:CreateFile(paramFileContent,paramFilePath)'作用: 创建文件'参数:paramFileContent '文件的内容' paramFilePath '文件名(不包括路径)'返回值:成功 true , 失败 false'*******************************************************Function CreateFile(paramFileContent,paramFilePath)On Error Resume NextDim Fso,fWriteSet Fso = Server.CreateObject("Scripting.FileSystemObject") Set fWrite =Fso.CreateTextFile(Server.Mappath(paramFilePath),true)fWrite.write paramFileContentfWrite.close()Set fWrite = nothingSet Fso = nothingIf Err.number <> 0 ThenErr.clear()CreateFile = FalseElseCreateFile = TrueEnd IfEnd Function'*******************************************************'函数名:DelFile(FilePath)'作用: 删除文件'参数:FilePath '文件路径多个文件用"|"隔开'返回值:成功 true , 失败 false'*******************************************************Function DelFile(FilePath)On Error Resume NextDim fso,arrFile,iIf GetSafeStr(FilePath,"")="" thenCreateFolder = falseExit FunctionEnd IfarrFile = Split(FilePath,"|")Set Fso = Server.CreateObject("Scripting.FileSystemObject")for i=0 to UBound(arrFile)FilePath = arrFile(i)If Fso.FileExists(Server.MapPath(FilePath)) thenFso.DeleteFile Server.MapPath(FilePath)End IfNextSet fso = nothingIf Err thenErr.clear()DelFile = falseElseDelFile = trueEnd IfEnd Function'*******************************************************'函数名:DelFolder(FolderPath)'作用: 删除目录'参数:FolderPath '目录路径 '多个目录用"|"分隔'返回值:成功 true , 失败 false'*******************************************************Function DelFolder(FolderPath)On Error Resume NextDim Fso,arrFolder,iIf GetSafeStr(FolderPath,"")="" thenDelFolder = falseExit FunctionEnd IfarrFolder = Split(FolderPath,"|")Set Fso = Server.CreateObject("Scripting.FileSystemObject")For i=0 to UBound(arrFolder)FolderPath = arrFolder(i)If Fso.folderexists(Server.MapPath(FolderPath)) thenFso.deleteFolder Server.MapPath(FolderPath)End IfNextIf Err thenErr.clear()DelFolder = false'ShowError "删除目录失败",""elseDelFolder = trueEnd IfEnd Function'*******************************************************'函数名:IsExistFile(FilePath)'作用: 判断文件或目录是否存在'参数:FilePath '文件路径多个文件用"|"隔开'返回值:成功 true , 失败 false'*******************************************************Function IsExistFile(FilePath)On Error Resume NextDim fso,arrFile,iIf GetSafeStr(FilePath,"")="" thenIsExistFile = falseEnd IfarrFile = Split(FilePath,"|")Set Fso = Server.CreateObject("Scripting.FileSystemObject")for i=0 to UBound(arrFile)FilePath = arrFile(i)If Fso.FileExists(Server.MapPath(FilePath)) thenIsExistFile = TrueEnd IfIf Fso.folderexists(Server.MapPath(FilePath)) thenIsExistFile = TrueEnd IfNextSet fso = nothingIf Err thenErr.clear()IsExistFile = false'ShowError "判断文件或目录是否存在失败",""elseIsExistFile = trueEnd IfEnd Function'*******************************************************'函数名:DelFile(FilePath)'作用: 删除文件或目录'参数:FilePath '文件路径多个文件用"|"隔开'返回值:成功 true , 失败 false'*******************************************************Function DelFile(FilePath)On Error Resume NextDim fso,arrFile,iIf GetSafeStr(FilePath,"")="" thenCreateFolder = falseEnd IfarrFile = Split(FilePath,"|")Set Fso = Server.CreateObject("Scripting.FileSystemObject")for i=0 to UBound(arrFile)FilePath = arrFile(i)If Fso.FileExists(Server.MapPath(FilePath)) thenFso.DeleteFile Server.MapPath(FilePath)End IfIf Fso.folderexists(Server.MapPath(FilePath)) thenFso.deleteFolder Server.MapPath(FilePath)End IfNextSet fso = nothingIf Err thenErr.clear()DelFile = false'ShowError "删除文件或目录失败",""elseDelFile = trueEnd IfEnd Function'******************************************************* '函数名:ReNameFile((oldName,newName)'作用: 重命名文件或目录'参数:strOldName '原文件名多个用"|"隔开' strNewName '新文件名多个用"|"隔开' 上面两个参数请保持一致'返回值:成功 true , 失败 false'******************************************************* Function ReNameFile(strOldName,strNewName)On Error Resume NextDim fso,arrOld,arrNew,i,oldName,newNameold = GetSafeStr(strOldName,"")Newfile = GetSafeStr(strNewName,"")If old ="" or Newfile = "" thenReNameFile = falseExit FunctionEnd IfarrOld = Split(strOldName,"|")arrNew = Split(strNewName,"|")If UBound(arrOld)<> UBound(arrNew) thenReNameFile = falseExit FunctionEnd IfSet Fso = Server.CreateObject("Scripting.FileSystemObject") for i=0 to UBound(arrOld)oldName = Server.MapPath(arrOld(i))newName = Server.MapPath(arrNew(i))If Fso.FileExists(oldName) and not Fso.FileExists(newName) thenfso.MoveFile oldName,newName'ReNameFile = TrueEnd IfNextSet fso = nothingIf Err.Number <> 0 ThenErr.clear()ReNameFile = falseElseReNameFile = TrueEnd IfEnd Function'*******************************************************'函数名:CopyFiles((TempSource,TempEnd)'作用: 复制文件或者目录'参数:TempSource '源文件名多个用"|"隔开' TempEnd '目的文件名多个用"|"隔开' 注意:上面两个参数请保持一致,并且都为完整路径,' 已经经过Server.MapPath方法处理过'返回值:成功 true , 失败 false'*******************************************************Function CopyFiles(TempSource,TempEnd)On Error Resume NextDim CopyFSO,arrSource,arrEndCopyFiles = falseSet CopyFSO = Server.CreateObject("Scripting.FileSystemObject")If TempSource ="" or TempEnd = "" thenErrRaise "复制文件或目录","条件为空"CopyFiles = falseExit FunctionEnd IfarrSource = Split(TempSource,"|")arrEnd = Split(TempEnd,"|")If UBound(arrSource) <> UBound(arrEnd) thenCopyFiles= falseExit FunctionEnd Iffor i=0 to UBound(arrSource)srcName = arrSource(i)tarName = arrEnd(i)IF CopyFSO.FileExists(srcName) and notCopyFSO.FileExists(tarName) thenCopyFSO.CopyFile srcName,tarNameCopyFiles = trueEnd IfIF CopyFSO.FolderExists(srcName) and notCopyFSO.FolderExists(tarName)thenCopyFSO.CopyFolder srcName,tarNameCopyFiles = trueEnd IfNextSet CopyFSO = NothingIf Err then'Err.clear()CopyFiles = false End IfEnd Function%>。

Excel VBA编程 FSO对象简介

Excel VBA编程  FSO对象简介
复制目录
CreateFolder()
创建新目录
CreateTextFile()
生成一个文件
DeleteFile()
删除一个文件
DeleteFolder()
删除一个目录
DriveExists()
检验盘符是否存在
Drives
返回盘符的集合
FileExists()
检验文件是否存在
FolderExists
检验一个目录是否存在
取得目录对象
GetParentFolderName
取得文件或目录的父目录名
GetSpecialFolder()
取得特殊的目录名
GetTempName()
生成一个临时文件对象
MoveFile()
移动文件
MoveFolder()
移动目录
OpenTextFile()
打开一个文件流
Excel VBA
在Excel VBA中,对文件的处理是通过FSO对其进行处理的。FSO即文件对象模型,它的全称是File System Object。该模型提供了一个基于对象的工具,通过它所提供的一系列属性和方法,用户可以在应用程序中更简单、灵活地对文件系统进行各种操作。
1.文件系统对象
FSO对象模型包括对象,如表18-1所示。
表18-1 FSO包含的对象
对象
描述
Drive
允许收集关于系统所用的驱动器的信息,诸如驱动器有多少可用空间,其共享名称是什么,等等。请注意,一个“驱动器”并不一定是一个硬盘。它可以是CD-ROM驱动器、一个RAM盘等等。而且,驱动器不一定是和系统物理地连接,也可以通过一个LAN进行逻辑地连接。
Folder
TextStream

西门子WICC7.4 FSO文件系统对象

西门子WICC7.4 FSO文件系统对象

c.获取c盘下子文件夹的名称
Sub OnClick(Byval Item) Dim myfso,myfolder,sfolder,s Set myfso = CreateObject("Scripting.FileSystemObject") Set myfolder = myfso.GetFolder("c:\") For Each sfolder In myfolder.SubFolders
b. 列举计算机的每个驱动盘
Sub OnClick(Byval Item) ShowDriveList Msgbox ShowDriveList End Sub
Function ShowDriveList Dim fso, d, dc, s, n Set fso = CreateObject("Scripting.FileSystemObject") Set dc = fso.Drives For Each d in dc n = "" s = s & d.DriveLetter & " - " If d.DriveType = 3 Then n = d.ShareName ElseIf d.IsReady Then
d.获得驱动盘格式
Dim fso,d Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive("c") Msgbox d.FileSystem
2.Folder对象
a.创建文件夹 CreateFolder
Dim filespec filespec="c:\abc" CreateFolderDemo(filespec)

fso对象模型

fso对象模型

fso对象模型由于fso对象包含在scripting 类型库 (scrrun.dll)中,所以在使用前首先需要在在工程中引用这个文件,单击“工程”,“引用”,然后在“引用”对话框中选中“microsoft scripting runtime”前的复选框,然后单击“确定”。

要创建fso对象可以采用两种方法,一种是将一个变量声明为fso对象类型:dim fsotest as new filesystemobject;另一种是通过createobject方法创建一个fso 对象:set fsotest =createobject("scripting.filesystemobject")(二)FSO的常见对象:(方法)(三)drive对象(常用属性)(四)folder对象(常用属性)(常用方法)在此需要强调一点,前面我们曾经提到过fso对象模型包含的方法是冗余的,所以folder对象的delete、move、copy方法和filesystemobject对象的deletefolder、movefolder、copyfolder方法实际上是相同的,因此在实际使用中可以任选其中的一种。

(五)file对象(六)TextStream对象是用于访问文本文件的对象,可以通过FileSystemObject 对象的CreateTextFile()及OpenTextFile(),来获取T extStream的对象句柄。

Set objFso = CreateObject("Scripting.FileSystemObject")Set objStream = objFso.CreateTextFile(strPath,True) '使用CreateTextFile(),来返回一个T extStream对象句柄Set objStream = objFso.OpenT extFile(strPath,1,true) '以只读的方式打开文件,如果文件不存在则创建它TextStream对象的方法TextStream对象的属性。

fso操作文件类

fso操作文件类

fso操作⽂件类Option ExplicitPrivate fso As Object'Private fso As FileSystemObject'写⼊,Optional表⽰“可选参数”,意思就是调⽤的时候,该参数可以传⼊,也可以不传⼊Sub WriteAllText(fileName As String, str As String, Optional AppendOrNot As Boolean = False) Dim number As Integernumber = FreeFileIf AppendOrNot ThenOpen fileName For Append As #number '追加⽅式打开⽂件ElseOpen fileName For Output As #number '覆盖⽅式打开⽂件End IfPrint #number, str;Close #number '关闭End Sub'读取所有⾏,返回字符串数组Function ReadAllLines(fileName As String) As String()Dim arr() As String, k As Integer, number As Integernumber = FreeFileOpen fileName For Input As #number '打开⽂件Do While Not EOF(number) '循环读取'建议把数组做成“步进式扩容”k = k + 1ReDim Preserve arr(1 To k) As StringLine Input #number, arr(k)LoopClose #number '关闭ReadAllLines = arrEnd Function'读取全部数据,返回字符串Function ReadAllText(fileName As String) As StringDim number As Integer, s As Stringnumber = FreeFile '产⽣⼀个当前可⽤的最⼩⽂件号Open fileName For Input As #number '打开⽂件Do While Not EOF(number) '循环读取s = s & Input(1, number)LoopClose #number '关闭ReadAllText = sEnd Function'写⼊⼀⾏Sub WriteLine(fileName As String, s As String, Optional AppendOrNot As Boolean = False)'Dim ts As TextStreamDim ts As ObjectDim ForAppending As VariantDim ForWriting As VariantIf AppendOrNot ThenSet ts = fso.OpenTextFile(fileName, ForAppending)ElseSet ts = fso.OpenTextFile(fileName, ForWriting)End Ifts.WriteLine (s)ts.CloseSet ts = NothingEnd Sub'判断⽂件是否存在Function FileExist(fileName As String) As BooleanFileExist = fso.FileExists(fileName)End Function'初始化对象时,创建fso对象Private Sub Class_Initialize()'Set fso = New FileSystemObjectSet fso = CreateObject("Scripting.FileSystemObject") End Sub'对象销毁时,释放fso空间Private Sub Class_Terminate()Set fso = NothingEnd Sub。

vb中fso对象用法详解[最新]

vb中fso对象用法详解[最新]

VB中FSO对象用法详解要应用 FSO 对象,须要引用一个名为 Scripting 的类型库,方法是,执行 VB6.0 的菜单项“工程/引用”,添加引用列表框中的“Microsoft Scripting Runtime”一项。

然后我们在“对象浏览器”中就可以看到 Scripting 类型库下的众多对象及其方法、属性。

1、判断光驱的盘符:Function GetCDROM() ´返回光驱的盘符(字母)Dim Fso As New FileSystemObject ´创建 FSO 对象的一个实例Dim FsoDrive As Drive, FsoDrives As Drives ´定义驱动器、驱动器集合对象Set FsoDrives = Fso.DrivesFor Each FsoDrive In FsoDrives ´遍历所有可用的驱动器If FsoDrive.DriveType = CDRom Then ´如果驱动器的类型为 CDrom GetCDROM = FsoDrive.DriveLetter ´输出其盘符ElseGetCDROM = ""End IfNextSet Fso = NothingSet FsoDrive = NothingSet FsoDrives = NothingEnd Function2、判断文件、文件夹是否存在:´返回布尔值:True 存在,False 不存在,filername 文件名Function FileExist(filename As String)Dim Fso As New FileSystemObjectIf Fso.FileExists(filename) = True ThenFileExist = TrueElseFileExist = FalseEnd IfSet Fso = NothingEnd Function´返回布尔值:True 存在,False 不存在,foldername 文件夹Function FolderExist(foldername As String)Dim Fso As New FileSystemObjectIf Fso.FolderExists(foldername) = True Then FolderExist = TrueElseFolderExist = FalseEnd IfSet Fso = NothingEnd Function3、获取驱动器参数:´返回磁盘总空间大小(单位:M),Drive = 盘符 A ,C, D ...Function AllSpace(Drive As String)Dim Fso As New FileSystemObject, Drv As DriveSet Drv = Fso.GetDrive(Drive) ´得到 Drv 对象的实例If Drv.IsReady Then ´如果该驱动器存在(软驱或光驱里有盘片,硬盘存取正常)AllSpace = Format(Drv.TotalSize / (2 ^ 20), "0.00") ´将字节转换为兆ElseAllSpace = 0End IfSet Fso = NothingSet Drv = NothingEnd Function´返回磁盘可用空间大小(单位:M),Drive = 盘符 A ,C, D ...Function FreeSpace(drive)Dim Fso As New FileSystemObject, drv As driveSet drv = Fso.GetDrive(drive)If drv.IsReady ThenFreeSpace = Format(drv.FreeSpace / (2 ^ 20), "0.00")End IfSet Fso = NothingSet Drv = NothingEnd Function´获取驱动器文件系统类型,Drive = 盘符 A ,C, D ...Function FsType(Drive As String)Dim Fso As New FileSystemObject, Drv As DriveSet Drv = Fso.GetDrive(Drive)If Drv.IsReady ThenFsType = Drv.FileSystemElseFsType = ""End IfSet Fso = NothingSet Drv = NothingEnd Function4,获取系统文件夹路径:´返回 Windows 文件夹路径Function GetWindir()Dim Fso As New FileSystemObjectGetWindir = Fso.GetSpecialFolder(WindowsFolder)Set Fso = NothingEnd Function´返回 Windows\System 文件夹路径Function GetWinSysdir()Dim Fso As New FileSystemObjectGetWinSysdir = Fso.GetSpecialFolder(SystemFolder)Set Fso = NothingEnd Function5,综合运用:一个文件备份通用过程:´Filename = 文件名,Drive = 驱动器,Folder = 文件夹(一层)Sub BackupFile(Filename As String, Drive As String, Folder As String)Dim Fso As New FileSystemObject ´创建 FSO 对象实例Dim Dest_path As String, Counter As LongCounter = 0Do While Counter < 6 ´如果驱动器没准备好,继续检测。

FileSystemObject用法大全

FileSystemObject用法大全

FileSystemObject文件系统对象FSO的英文全称是File System Object ,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。

通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。

FSO(File System Object)对象模型从Visual Basic 的第一版至今,VB中有关文件的处理都是通过使用Open 、Write以及其它一些相关的语句和函数来实现的。

随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。

因此,从VB6.0开始,微软提出了一个全新的文件系统对象FSO。

一、FSO 对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。

更令人高兴的是FSO 对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CD-ROM还是可移动磁盘,当前磁盘的剩余空间还有多少。

而以前要获取这些信息必须通过调用Windo ws API函数集中的相应函数才能实现。

FSO对象模型包含在Scripting 类型库(Scrrun.Dll)中,它同时包含了Drive、F older、File、FileSystemObject和TextStream五个对象。

其中Dri ve用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Fo lder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemOb ject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FSO 文件系统对象手册提示:刚一开始看到有这样的功能,我也受骗了,以为真的可以通过浏览器在访问者的硬盘上创建文件,因为我开始试了一下真的可以,不信你把下面这段代码COPY到一个HTML文件当中再运行一下!<script language="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");fso.DeleteFile("c:\\autoexec.bat", true); //请注意啊!把autoexec.bat改为你C盘中的其它文件名,你不改也可以!先把autoexec.bat备份啊!--></script>是不是发现你C盘的Autoexec.bat文件不见呢?呵呵其实当那个文件运行时IE会提醒你当前使用的ActiveX控件不安全,询问你是否运行,但由于你和我一样迫切想试试究竟效果如何,因此你会毫不犹疑的按下[确定] .... 其实这是使用了FileSystemObject来实现的,要了解更详细的用法与例子的话,点这里下载JScript的中文说明文档或者买本<<深入学习:JavaScript开发与实例>> 也可以看看无忧脚本整理的例子,让大家学习学习.让我们先来看看有什么属性与函数可用,后面会对部分函数做些小例子方法或者属性描述BuildPath()生成一个文件路径CopyFile() 复制文件CopyFolder() 复制目录CreateFolder() 创建新目录CreateTextFile() 生成一个文件DeleteFile() 删除一个文件DeleteFolder() 删除一个目录DriveExists() 检验盘符是否存在Drives 返回盘符的集合FileExists() 检验文件是否存在FolderExists 检验一个目录是否存在GetAbsolutePathName() 取得一个文件的绝对路径GetBaseName() 取得文件名GetDrive() 取得盘符名GetDriveName() 取得盘符名GetExtensionName() 取得文件的后缀GetFile() 生成文件对象GetFileName() 取得文件名GetFolder() 取得目录对象GetParentFolderName 取得文件或目录的父目录名GetSpecialFolder() 取得特殊的目录名GetTempName() 生成一个临时文件对象MoveFile() 移动文件MoveFolder() 移动目录OpenTextFile()打开一个文件流实例说明BuildPath(路径,文件名) //这个方法会对给定的路径加上文件,并自动加上分界符<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");var newpath = fso.BuildPath("c:\\tmp", "51js.txt"); //生成c:\tmp\51js.txt的路径alert(newpath);--></SCRIPT>CopyFile(源文件, 目标文件, 覆盖) //复制源文件到目标文件,当覆盖值为true时,如果目标文件存在会把文件覆盖<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");var newpath = fso.CopyFile("c:\\autoexec.bat", "d:\\autoexec.bak");--></SCRIPT>CopyFolder(对象目录,目标目录,覆盖) //复制对象目录到目标目录,当覆盖为true时,如果目标目录存在会把文件覆盖<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");fso.CopyFolder("c:\\WINDOWS\\Desktop", "d:\\"); //把C盘的Desktop目录复制到D盘的根目录--></SCRIPT>CreateFolder(目录名) //创建一个新的目录<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");var newFolderName = fso.CreateFolder("c:\\51JS"); //在C盘上创建一个51JS的目录--></SCRIPT>CreateTextFile(文件名, 覆盖) //创建一个新的文件,如果此文件已经存在,你需要把覆盖值定为true<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");var newFileObject = fso.CreateTextFile("c:\\autoexec51JS.bat", true); //脚本将在C盘创建一个叫autoexec51JS.bat的文件--></SCRIPT>DeleteFile(文件名, 只读?) //删除一个文件,如果文件的属性是只读的话,你需要把只读值设为true<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject"); //为了安全我先把要删除的autoexec.bat备份到你的D盘var newpath = fso.CopyFile("c:\\autoexec.bat", "d:\\autoexec.bat"); //把C盘的autoexec.bat文件删除掉fso.DeleteFile("c:\\autoexec.bat", true);--></SCRIPT>DeleteFolder(文件名, 只读?)//删除一个目录,如果目录的属性是只读的话,你需要把只读值设为true<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");fso.CopyFolder("c:\\WINDOWS\\Desktop", "d:\\"); //为了安全我先把你C盘的Desktop目录复制到你D盘的根目录fso.DeleteFolder("c:\\WINDOWS\\Desktop", true); //把你的Desktop目录删除,但因为desktop 是系统的东西,所以不能全部删除,但.........--></SCRIPT>DriveExists(盘符) //检查一个盘是否存在,如果存在就返会真,不存在就返回.......<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");hasDriveD = fso.DriveExists("d"); //检查系统是否有D盘存在hasDriveZ = fso.DriveExists("z"); //检查系统是否有Z盘存在if (hasDriveD) alert("你的系统内有一个D盘");if (!hasDriveZ) alert("你的系统内没有Z盘");--></SCRIPT>FileExists(文件名) //检查一个文件是否存在,如果存在就返会真,不存在就返回.......<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");fileName = fso.FileExists("c:\\autoexec.bat");if (fileName) alert("你在C盘中有autoexec.bat文件,按下确定后这个文件将被删除!"); //开个玩笑:)--></SCRIPT>FolderExists(目录名) //检查一个目录是否存在,如果存在就返会真,不存在就返回.......<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");folderName = fso.FolderExists("c:\\WINDOWS\\Fonts");if (folderName) alert("按下确定后系统的字库将被删除!"); //开个玩笑:)--></SCRIPT>GetAbsolutePathName(文件对象) //返回文件对象在系统的绝对路径<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");pathName = fso.GetAbsolutePathName("c:\\autoexec.bat");alert(pathName);--></SCRIPT>GetBaseName(文件对象) //返回文件对象的文件名<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");baseName = fso.GetBaseName("c:\\autoexec.bat"); //取得autoexec.bat的文件名autoexecalert(baseName);--></SCRIPT>GetExtensionName(文件对象) //文件的后缀<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");exName = fso.GetExtensionName("c:\\autoexec.bat"); //取得autoexec.bat后缀batalert(exName);--></SCRIPT>GetParentFolderName(文件对象) //取得父级的目录名<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");parentName = fso.GetParentFolderName("c:\\autoexec.bat"); //取得autoexec.bat的父级目录C盘alert(parentName);--></SCRIPT>GetSpecialFolder(目录代码) //取得系统中一些特别的目录的路径,目录代码有3个分别是0:安装Window的目录1:系统文件目录2:临时文件目录<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");tmpFolder = fso.GetSpecialFolder(2); //取得系统临时文件目录的路径如我的是C:\windows\tempalert(tmpFolder);--></SCRIPT>GetTempName() //生成一个随机的临时文件对象,会以rad带头后面跟着些随机数,就好象一些软件在安装时会生成*.tmp<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");tmpName = fso.GetTempName(); //我在测试时就生成了radDB70E.tmpalert(tmpName);--></SCRIPT>MoveFile(源文件, 目标文件) //把源文件移到目标文件的位置<SCRIPT LANGUAGE="JavaScript"><!--var fso = new ActiveXObject("Scripting.FileSystemObject");var newpath = fso.MoveFile("c:\\autoexec.bat", "d:\\autoexec.bat"); //把C盘的autoexec.bat文件移移动到D盘--></SCRIPT>To Be Continue! 还有几个属性没写例子,迟点就有了,是否觉得每次都会问你是否运行很麻烦?或者........,想知道如何不用询问就运行?(不要用脚本来破坏别人的系统啊!) 请密切留意。

相关文档
最新文档