作家
登录

文件、目录,文本文件等多种操作类

作者: 来源:www.28hudong.com 2013-03-30 09:01:33 阅读 我要评论

一个使用fso的class,前面的文章也有提到。这里有比较多的一些实例。 <% Dim MyFileFolder Set MyFileFolder = New FileFolderCls ''Response.Write MyFileFolder.MoveAFile("f:1234561.exe","f:1234562.txt") ''Response.Write MyFileFolder.MoveAFolder("f:456","f:ditg456") ''Response.Write MyFileFolder.ShowFileSystemType("i:") ''Response.Write MyFileFolder.CopyAFile("f:1234562.txt","f:1234563.txt") ''!!!! ''Response.Write MyFileFolder.CopyAFolder("f:123","f:789") ''Response.Write MyFileFolder.ShowFolderList("f:ditg") ''Response.Write MyFileFolder.ShowFileList("f:123123") ''Response.Write MyFileFolder.DeleteAFile("f:1234562.txt") ''Response.Write MyFileFolder.DeleteAFolder("f:456") ''Response.Write MyFileFolder.CreateFolderDemo("f:147") ''Response.Write MyFileFolder.GetFileSize("f:1234563.txt") ''Response.Write MyFileFolder.GetFolderSize("f:123123.txt") ''Response.Write MyFileFolder.ShowFileAccessInfo("f:123123.txt",1)&"<br>" ''Response.Write MyFileFolder.ShowFileAccessInfo("f:123123.txt",2)&"<br>" ''Response.Write MyFileFolder.ShowFileAccessInfo("f:123123.txt",3)&"<br>" ''Response.Write MyFileFolder.ShowFileAccessInfo("f:123123.txt",4)&"<br>" ''Response.Write MyFileFolder.ShowFileAccessInfo("f:123123.txt",5)&"<br>" ''Response.Write MyFileFolder.ShowFileAccessInfo("f:123123.txt",6)&"<br>" ''Response.Write MyFileFolder.ShowFileAccessInfo("f:123123.txt",7)&"<br>" ''Response.Write MyFileFolder.ShowFileAccessInfo("f:123123.txt",8)&"<br>" ''Response.Write MyFileFolder.ShowFolderAccessInfo("f:123",1)&"<br>" ''Response.Write MyFileFolder.ShowFolderAccessInfo("f:123",2)&"<br>" ''Response.Write MyFileFolder.ShowFolderAccessInfo("f:123",3)&"<br>" ''Response.Write MyFileFolder.ShowFolderAccessInfo("f:123",4)&"<br>" ''Response.Write MyFileFolder.ShowFolderAccessInfo("f:123",5)&"<br>" ''Response.Write MyFileFolder.ShowFolderAccessInfo("f:123",6)&"<br>" ''Response.Write MyFileFolder.ShowFolderAccessInfo("f:123",7)&"<br>" ''Response.Write MyFileFolder.ShowFolderAccessInfo("f:123",8)&"<br>" ''Response.Write MyFileFolder.WriteTxtFile("f:123cexo.txt","",1)&"<br>" ''Response.Write MyFileFolder.WriteTxtFile("f:123cexo.txt","cexowxfdw",1)&"<br>" ''Response.Write MyFileFolder.WriteTxtFile("f:123cexo.txt",Chr(13)&Chr(10) &"cexowxfdw",2)&"<br>" ''Response.Write MyFileFolder.ReadTxtFile("f:123cexo.txt")&"<br>" Response.Write MyFileFolder.DisplayLevelDepth("F:ditgditgbumenimages")&"<br>" Class FileFolderCls Public fso Private Sub Class_Initialize() Set fso = CreateObject("Scripting.FileSystemObject") End Sub Private Sub Class_Terminate() Set fso = Nothing End Sub ''//==================================文件操作================================== ''取文件大小 Function GetFileSize(FileName) ''//功能:取文件大小 ''//形参:文件名 ''//返回值:成功为文件大小,失败为-1 ''// Dim f If ReportFileStatus(FileName) = 1 Then Set f = fso.Getfile(FileName) GetFileSize = f.Size Else GetFileSize = -1 End if End Function ''文件删除 Function DeleteAFile(filespec) ''//功能:文件删除 ''//形参:文件名 ''//返回值:成功为1,失败为-1 ''// If ReportFileStatus(filespec) = 1 Then fso.DeleteFile(filespec) DeleteAFile = 1 Else DeleteAFile = -1 End if End Function ''显示文件列表 Function ShowFileList(folderspec) ''//功能:目录存在时显示此目录下的所有文件 ''//形参:目录名 ''//返回值:成功为文件列表,失败为-1 ''// Dim f, f1, fc, s If ReportFolderStatus(folderspec) = 1 Then Set f = fso.GetFolder(folderspec) Set fc = f.Files For Each f1 in fc s = s & f1.name s = s & "|" Next ShowFileList = s Else ShowFileList = -1 End if End Function ''!!! ''文件复制 Function CopyAFile(SourceFile,DestinationFile) ''//功能:源文件存在时,才能对文件进行复制,目的文件无影响 ''//形参:源文件,目的文件 ''//返回值:成功为1,失败为-1 ''// Dim MyFile If ReportFileStatus(SourceFile) = 1 Then Set MyFile = fso.GetFile(SourceFile) MyFile.Copy (DestinationFile) CopyAFile = 1 Else CopyAFile = -1 End if End Function ''文件移动 ''Response.Write MoveAFile("f:1234561.exe","f:1234562.txt") Function MoveAFile(SourceFile,DestinationFile) ''//功能:源文件存在时目的文件不存在时才能对文件进行移动 ''//形参:源文件,目的文件 ''//返回值:成功为1,失败为-1 ''// If ReportFileStatus(SourceFile)=1 And ReportFileStatus(DestinationFileORPath) = -1 Then fso.MoveFile SourceFile,DestinationFileORPath MoveAFile = 1 Else MoveAFile = -1 End if End Function ''文件是否存在? ''Response.Write ReportFileStatus("G: oftdelphimy_pro代码库.exe") Function ReportFileStatus(FileName) ''//功能:判断文件是否存在 ''//形参:文件名 ''//返回值:成功为1,失败为-1 ''// Dim msg msg = -1 If (fso.FileExists(FileName)) Then msg = 1 Else msg = -1 End If ReportFileStatus = msg End Function ''文件创建日期 ''Response.Write ShowDateCreated("G: oftdelphimy_pro代码库.exe") ''Response.Write ShowDateCreated("G: oftdelphimy_pro复件 代码库.exe") Function ShowDateCreated(filespec) ''//功能:文件创建日期 ''//形参:文件名 ''//返回值:成功:文件创建日期,失败:-1 ''// Dim f If ReportFileStatus(filespec) = 1 Then Set f = fso.GetFile(filespec) ShowDateCreated = f.DateCreated Else ShowDateCreated = -1 End if End Function ''文件属性 ''Response.Write GetAttributes("G: oftdelphimy_pro复件 代码库.exe") Function GetAttributes(FileName) ''//功能:显示文件属性 ''//形参:文件名 ''//返回值:成功:文件属性,失败:-1 ''// Dim f,Str If ReportFileStatus(FileName) = 1 Then Set f = fso.GetFile(FileName) Select Case f.attributes Case 0 Str="普通文件。没有设置任何属性。 " Case 1 Str="只读文件。可读写。 " Case 2 Str="隐藏文件。可读写。 " Case 4 Str="系统文件。可读写。 " Case 16 Str="文件夹或目录。只读。 " Case 32 Str="上次备份后已更改的文件。可读写。 " Case 1024 Str="链接或快捷方式。只读。 " Case 2048 Str=" 压缩文件。只读。" End Select GetAttributes = Str Else GetAttributes = -1 End if End Function ''最后一次访问/最后一次修改时间 ''Response.Write ShowFileAccessInfo("G: oftdelphimy_pro复件 代码库.exe") Function ShowFileAccessInfo(FileName,InfoType) ''//功能:显示文件创建时信息 ''//形参:文件名,信息类别 ''// 1 -----创建时间 ''// 2 -----上次访问时间 ''// 3 -----上次修改时间 ''// 4 -----文件路径 ''// 5 -----文件名称 ''// 6 -----文件类型 ''// 7 -----文件大小 ''// 8 -----父目录 ''// 9 -----根目录 ''//返回值:成功为文件创建时信息,失败:-1 ''// Dim f, s If ReportFileStatus(FileName) = 1 then Set f = fso.GetFile(FileName) Select Case InfoType Case 1 s = f.DateCreated ''// 1 ----- 创建时间 Case 2 s = f.DateLastAccessed ''// 2 -----上次访问 时间 Case 3 s = f.DateLastModified ''// 3 -----上次修改 时间 Case 4 s = f.Path ''// 4 -----文件路径 Case 5 s = f.Name ''// 5 -----文件名称 Case 6 s = f.Type ''// 6 -----文件类型 Case 7 s = f.Size ''// 7 -----文件大小 Case 8 s = f.ParentFolder ''// 8 ----- 父目录 Case 9 s = f.RootFolder ''// 8 ----- 根目录 End Select ShowFileAccessInfo = s ELse ShowFileAccessInfo = -1 End if End Function ''写文本文件 Function WriteTxtFile(FileName,TextStr,WriteORAppendType) Const ForReading = 1, ForWriting = 2 , ForAppending = 8 Dim f, m Select Case WriteORAppendType Case 1: ''文件进行写操作 Set f = fso.OpenTextFile(FileName, ForWriting, True) f.Write TextStr f.Close If ReportFileStatus(FileName) = 1 then WriteTxtFile = 1 Else WriteTxtFile = -1 End if Case 2: ''文件末尾进行写操作 If ReportFileStatus(FileName) = 1 then Set f = fso.OpenTextFile(FileName, ForAppending) f.Write TextStr f.Close WriteTxtFile = 1 Else WriteTxtFile = -1 End if End Select End Function ''读文本文件 Function ReadTxtFile(FileName) Const ForReading = 1, ForWriting = 2 Dim f, m If ReportFileStatus(FileName) = 1 then Set f = fso.OpenTextFile(FileName, ForReading) m = f.ReadLine ''m = f.ReadAll ''f.SkipLine ReadTxtFile = m f.Close Else ReadTxtFile = -1 End if End Function ''建立文本文件 ''//==================================目录操作================================== ''取目录大小 Function GetFolderSize(FolderName) ''//功能:取目录大小 ''//形参:目录名 ''//返回值:成功为目录大小,失败为-1 ''// Dim f If ReportFolderStatus(FolderName) = 1 Then Set f = fso.GetFolder(FolderName) GetFolderSize = f.Size Else GetFolderSize = -1 End if End Function ''创建的文件夹 Function CreateFolderDemo(FolderName) ''//功能:创建的文件夹 ''//形参:目录名 ''//返回值:成功为1,失败为-1 ''// Dim f If ReportFolderStatus(Folderspec) = 1 Then CreateFolderDemo = -1 Else Set f = fso.CreateFolder(FolderName) CreateFolderDemo = 1 End if End Function ''!!! ''目录删除 Function DeleteAFolder(Folderspec) ''//功能:目录删除 ''//形参:目录名 ''//返回值:成功为1,失败为-1 ''// Response.write Folderspec If ReportFolderStatus(Folderspec) = 1 Then fso.DeleteFolder (Folderspec) DeleteAFolder = 1 Else DeleteAFolder = -1 End if End Function ''显示目录列表 Function ShowFolderList(folderspec) ''//功能:目录存在时显示此目录下的所有子目录 ''//形参:目录名 ''//返回值:成功为子目录列表,失败为-1 ''// Dim f, f1, fc, s If ReportFolderStatus(folderspec) = 1 Then Set f = fso.GetFolder(folderspec) Set fc = f.SubFolders For Each f1 in fc s = s & f1.name s = s & "|" Next ShowFolderList = s Else ShowFolderList = -1 End if End Function ''!!!! ''目录复制 Function CopyAFolder(SourceFolder,DestinationFolder) ''//功能:源目录存在时,才能对目录进行复制,目的目录无影响 ''//形参:源目录,目的目录 ''//返回值:成功为1,失败为-1 ''// ''Dim MyFolder ''If ReportFolderStatus(SourceFolder) = 1 and ReportFolderStatus (DestinationFolder) = -1 Then ''Set MyFolder = fso.GetFolder(SourceFolder) fso.CopyFolder SourceFolder,DestinationFolder CopyAFolder = 1 ''Else CopyAFolder = -1 ''End if End Function ''目录进行移动 Function MoveAFolder(SourcePath,DestinationPath) ''//功能:源目录存在时目的目录不存在时才能对目录进行移动 ''//形参:源目录,目的目录 ''//返回值:成功为1,失败为-1 ''// If ReportFolderStatus(SourcePath)=1 And ReportFolderStatus(DestinationPath)=0 Then fso.MoveFolder SourcePath, DestinationPath MoveAFolder = 1 Else MoveAFolder = -1 End if End Function ''判断目录是否存在 ''Response.Write ReportFolderStatus("G: oftdelphimy_pro") Function ReportFolderStatus(fldr) ''//功能:判断目录是否存在 ''//形参:目录 ''//返回值:成功为1,失败为-1 ''// Dim msg msg = -1 If (fso.FolderExists(fldr)) Then msg = 1 Else msg = -1 End If ReportFolderStatus = msg End Function ''目录创建时信息 Function ShowFolderAccessInfo(FolderName,InfoType) ''//功能:显示目录创建时信息 ''//形参:目录名,信息类别 ''// 1 -----创建时间 ''// 2 -----上次访问时间 ''// 3 -----上次修改时间 ''// 4 -----目录路径 ''// 5 -----目录名称 ''// 6 -----目录类型 ''// 7 -----目录大小 ''// 8 -----父目录 ''// 9 -----根目录 ''//返回值:成功为目录创建时信息,失败:-1 ''// Dim f, s If ReportFolderStatus(FolderName) = 1 then Set f = fso.GetFolder(FolderName) Select Case InfoType Case 1 s = f.DateCreated ''// 1 ----- 创建时间 Case 2 s = f.DateLastAccessed ''// 2 -----上次访问 时间 Case 3 s = f.DateLastModified ''// 3 -----上次修改 时间 Case 4 s = f.Path ''// 4 -----文件路径 Case 5 s = f.Name ''// 5 -----文件名称 Case 6 s = f.Type ''// 6 -----文件类型 Case 7 s = f.Size ''// 7 -----文件大小 Case 8 s = f.ParentFolder ''// 8 ----- 父目录 Case 9 s = f.RootFolder ''// 9 ----- 根目录 End Select ShowFolderAccessInfo = s ELse ShowFolderAccessInfo = -1 End if End Function Function DisplayLevelDepth(pathspec) Dim f, n ,Path Set f = fso.GetFolder(pathspec) If f.IsRootFolder Then DisplayLevelDepth ="指定的文件夹是根文件夹。"&RootFolder Else Do Until f.IsRootFolder Path = Path & f.Name &"<br>" Set f = f.ParentFolder n = n + 1 Loop DisplayLevelDepth ="指定的文件夹是嵌套级为 " & n & " 的文件夹。<br>"& Path End If End Function ''//==================================磁盘操作================================== ''驱动器是否存在? ''Response.Write ReportDriveStatus("C:") Function ReportDriveStatus(drv) ''//功能:判断磁盘是否存在 ''//形参:磁盘 ''//返回值:成功为1,失败为-1 ''// Dim msg msg = -1 If fso.DriveExists(drv) Then msg = 1 Else msg = -1 End If ReportDriveStatus = msg End Function ''--------可用的返回类型包括 FAT、NTFS 和 CDFS。 ''Response.Write ShowFileSystemType("C:") Function ShowFileSystemType(drvspec) ''//功能:磁盘类型 ''//形参:磁盘名 ''//返回值:成功为类型:FAT、NTFS 和 CDFS,失败:-1 ''// Dim d If ReportDriveStatus(drvspec) = 1 Then Set d = fso. GetDrive(drvspec) ShowFileSystemType = d.FileSystem ELse ShowFileSystemType = -1 End if End Function End Class %>

  推荐阅读

  FSO一些代码

使用FSO修改文件特定内容的函数 function FSOchange(filename,Target,String) Dim objFSO,objCountFile,FiletempData Set objFSO = Server.CreateObject("Scripting.FileSystemObject") Set objCountFile = ob>>>详细阅读


本文标题:文件、目录,文本文件等多种操作类

地址:http://www.17bianji.com/kaifa2/ASP/33147.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)