当前位置: 首页 > 图文教程 > 网络编程 > ASP > 文件、目录,文本文件等多种操作类

ASP
构建你的网站新闻自动发布系统之三
构建你的网站新闻自动发布系统之四
如何用ASP编写网站统计系统一
如何用ASP编写网站统计系统二
如何用ASP编写网站统计系统三
如何用ASP编写网站统计系统四
ASP Error 0115的一些解决办法
ASP 3.0 新特色先睹为快(一)
ASP 3.0 新特色先睹为快(二)
ASP主件中的安全问题
一个汉字转成拼音的代码
使用w3Sockets组件实现域名查询功能
ASP中实现文件上传方法的研究
构建免受FSO组件威胁虚拟主机
用XMLHTTP做一个自己特色的Google
用asp实现的代码批量修改程序
无组件的数据库的备份与还原
用ASPJPEG组件制作图片的缩略图和加水印
解密ASP源代码
XmlHttp异步获取网站数据的例子

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 96 ::
收藏到网摘: n/a

一个使用fso的class,前面的文章也有提到。这里有比较多的一些实例。
<%
Dim MyFileFolder
Set MyFileFolder = New FileFolderCls
''Response.Write MyFileFolder.MoveAFile("f:\123\4561.exe","f:\123\4562.txt")
''Response.Write MyFileFolder.MoveAFolder("f:\456","f:\ditg\456")
''Response.Write MyFileFolder.ShowFileSystemType("i:\")
''Response.Write MyFileFolder.CopyAFile("f:\123\4562.txt","f:\123\4563.txt")
''!!!!
''Response.Write MyFileFolder.CopyAFolder("f:\123\","f:\789\")
''Response.Write MyFileFolder.ShowFolderList("f:\ditg")
''Response.Write MyFileFolder.ShowFileList("f:\123\123")
''Response.Write MyFileFolder.DeleteAFile("f:\123\4562.txt")
''Response.Write MyFileFolder.DeleteAFolder("f:\456\")
''Response.Write MyFileFolder.CreateFolderDemo("f:\147\")
''Response.Write MyFileFolder.GetFileSize("f:\123\4563.txt")
''Response.Write MyFileFolder.GetFolderSize("f:\123\123.txt")
''Response.Write MyFileFolder.ShowFileAccessInfo("f:\123\123.txt",1)&"<br>"
''Response.Write MyFileFolder.ShowFileAccessInfo("f:\123\123.txt",2)&"<br>"
''Response.Write MyFileFolder.ShowFileAccessInfo("f:\123\123.txt",3)&"<br>"
''Response.Write MyFileFolder.ShowFileAccessInfo("f:\123\123.txt",4)&"<br>"
''Response.Write MyFileFolder.ShowFileAccessInfo("f:\123\123.txt",5)&"<br>"
''Response.Write MyFileFolder.ShowFileAccessInfo("f:\123\123.txt",6)&"<br>"
''Response.Write MyFileFolder.ShowFileAccessInfo("f:\123\123.txt",7)&"<br>"
''Response.Write MyFileFolder.ShowFileAccessInfo("f:\123\123.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:\123\cexo.txt","",1)&"<br>"
''Response.Write MyFileFolder.WriteTxtFile("f:\123\cexo.txt","cexowxfdw",1)&"<br>"
''Response.Write MyFileFolder.WriteTxtFile("f:\123\cexo.txt",Chr(13)&Chr(10)
&"cexowxfdw",2)&"<br>"
''Response.Write MyFileFolder.ReadTxtFile("f:\123\cexo.txt")&"<br>"
Response.Write MyFileFolder.DisplayLevelDepth("F:\ditg\ditg\bumen\images")&"<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:\123\4561.exe","f:\123\4562.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: oft\delphi\my_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: oft\delphi\my_pro\代码库.exe")
''Response.Write ShowDateCreated("G: oft\delphi\my_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: oft\delphi\my_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: oft\delphi\my_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: oft\delphi\my_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
%>