📄 cls_fso.asp
字号:
<%
'====================================================================
'= 文件名称:/inc/Cls_FSO.asp
'= 摘 要:FSO操作类
'=-------------------------------------------------------------------
'= 最后更新:jackie
'= 最后日期:2007-8-29
'====================================================================
'= 文件操作类
'= 文件名称
'= 文件大小
'= 文件创建
'= FileName--文件名称
'= foldername--文件夹名称
'= DestinationFile--目标文件名称
'= FileSize--获得文件大小
'= FileCreatedDate--获得文件创建日期
'= FileAttributes--获得文件属性
'= ShowFileAccessInfo(InfoType)--获得文件属性
'= CreateTxtFile()--创建文本文件
'= WriteTxtFile(TextStr,WriteORAppendType)==写文本文件
'= ReadTxtFile()--读取文本文件
'= DeleteFile()--删除文件
'= CopyFile()--拷贝文件
'= MoveFile()--移动文件
'=
'
Class Cls_FSO
Private o_Fso,s_FileName,s_DestinationFile
Private s_FolderName,s_DestinationFolder
Private Sub Class_Initialize()
Set o_Fso = CreateObject("Scripting.FileSystemObject")
End Sub
Private Sub Class_Terminate()
Set o_Fso = Nothing
End Sub
'===============================================文件操作====================================
'************************************
'属性
'************************************
'设置文件名字
'************************************
Public Property Let FileName(Byval Values)
s_FileName=Values
'checkFile '检查文件
End Property
'************************************
'属性
'************************************
'设置目标文件名
Public Property Let DestinationFile(Byval Values)
s_DestinationFile=Values
End Property
'************************************
'属性
'************************************
'取文件大小
Public Property Get FileSize()
If fileExist Then
Dim f
Set f = o_Fso.Getfile(s_FileName)
FileSize = f.Size
Else
FileSize=0
End if
End Property
'************************************
'属性
'************************************
'取文件创建日期
Public Property Get FileCreatedDate()
If fileExist Then
Dim f
Set f = o_Fso.GetFile(s_FileName)
FileCreatedDate = f.DateCreated
Else
FileCreatedDate="1900-1-1"
End if
End Property
'************************************
'属性
'************************************
'取文件属性
Public Property Get FileAttributes()
If fileExist Then
Dim f,Str
Set f = o_Fso.GetFile(s_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
FileAttributes=Str
Else
FileAttributes="文件不存在或不可预测地属性"
End if
End Property
'************************************
'方法
'************************************
'显示文件信息
'************************************
'形参:文件名,信息类别
' 1 -----创建时间
' 2 -----上次访问时间
' 3 -----上次修改时间
' 4 -----文件路径
' 5 -----文件名称
' 6 -----文件类型
' 7 -----文件大小
' 8 -----父目录
' 9 -----根目录
Public Function ShowFileAccessInfo(InfoType)
'判断参数是否是数字
If fileExist Then
Dim f, s
Set f = o_Fso.GetFile(s_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 '// 9 -----根目录
End Select
ShowFileAccessInfo=s
Else
ShowFileAccessInfo="文件不存在:("
End if
End Function
'************************************
'方法
'************************************
'检验文件是否存在
Private Function fileExist
fileExist = True
'检查文件路径
'检查文件是否存在
If Not(o_Fso.FileExists(s_FileName)) Then
fileExist = False
End If
End Function
'************************************
'方法
'************************************
'抛异常
Private Function showErr(s_Msg)
Response.Write(s_Msg)
Set Fso=Nothing
Response.End()
End Function
'************************************
'方法
'************************************
'创建空文件
Public Function CreateTxtFile()
'//创建空文件
If fileExist Then
showErr "文件已经存在:("
Else
Dim f
Set f=o_Fso.CreateTextFile(s_FileName)
f.Close
End If
End Function
'************************************
'方法
'************************************
'写文件
'************************************
'实参:文本内容
' 写入类型 ---覆盖写入or追加写入(1,2)
Public Function WriteTxtFile(TextStr,WriteORAppendType)
Const ForReading = 1, ForWriting = 2 , ForAppending = 8
Dim f, m
If Not fileExist Then CreateTxtFile()
Select Case WriteORAppendType
Case 1: '文件进行写操作
Set f = o_Fso.OpenTextFile(s_FileName, ForWriting, True)
f.Write TextStr
f.Close
If Not fileExist Then
showErr "文件写入失败"
End if
Case 2: '文件末尾进行写操作
If fileExist Then
Set f = o_Fso.OpenTextFile(s_FileName, ForAppending)
f.Write TextStr
f.Close
Else
showErr "文件追加失败"
End if
End Select
End Function
'************************************
'方法
'************************************
'读取文件
Public Function ReadTxtFile()
Const ForReading = 1, ForWriting = 2
Dim f, m
If fileExist Then
Set f = o_Fso.OpenTextFile(s_FileName, ForReading)
'm = f.ReadLine
m = f.ReadAll
'f.SkipLine
ReadTxtFile = m
f.Close
Else
ReadTxtFile = "文件读取失败-文件不存在:("
End if
End Function
Public Function DeleteFile()
If fileExist Then
o_Fso.DeleteFile(s_FileName)
Else
showErr "文件已经不存在:("
End if
End Function
'************************************
'方法
'************************************
'拷贝文件
' 源文件存在时,才能对文件进行复制,目的文件无影响
Public Function CopyFile()
'//SourceFile=s_FileName
If fileExist Then
Dim MyFile
If s_FileName=s_DestinationFile Then
showErr "禁止一相同文件名拷贝到同一目录下:("
End IF
Set MyFile = o_Fso.GetFile(s_FileName)
MyFile.Copy (s_DestinationFile)
Else
showErr "文件已经不存在"
End if
End Function
Public Function MoveFile()
If fileExist Then
Dim SourceFile
If s_FileName=s_DestinationFile Then
showErr "禁止一相同文件名移动到同一目录下:("
End IF
o_Fso.MoveFile s_FileName,s_DestinationFile
Else
showErr "文件已经不存在:("
End If
End Function
'===============================================目录操作====================================
'设置目录名
Public Property Let FolderName(Byval Values)
s_FolderName=Values
'checkFolder '检查文件
End Property
'设置目标目录名
Public Property Let DestinationFolder(Byval Values)
s_DestinationFolder=Values
End Property
'获得目录大小
'获得目录创建信息
'判断目录是否存在
'创建目录
Public Function CreateFolder()
If not o_Fso.FolderExists(s_FolderName) then
o_Fso.CreateFolder(s_FolderName)
end if
End Function
'删除目录
'拷贝目录
'移动目录
'重命名目录
'===============================================遍历操作====================================
'************************************
'方法
'************************************
'显示文件列表
Private Function ReportFolderStatus()
If o_Fso.FolderExists(s_FolderName) Then
ReportFolderStatus=True
Else
ReportFolderStatus=False
End If
End Function
Public Function ShowFileList()
Dim f, f1, fc, s
If ReportFolderStatus() Then
Set f = o_Fso.GetFolder(s_FolderName)
Set fc = f.Files
For Each f1 in fc
s = s & f1.name
s = s & "|"
Next
ShowFileList = Left(s,Len(s)-1)
Else
ShowFileList = "该目录没有文件"
End if
End Function
End Class
'Set myFile=new Cls_FSO
'myFile.FileName=Server.MapPath("file.txt")
'myFile.CreateTxtFile()
'myFile.WriteTxtFile "Test",2
'myFile.DestinationFile=Server.MapPath("file2.txt")
'myFile.CopyFile()
'myFile.FileName=Server.MapPath("file2.txt")
'myFile.DeleteFile()
'response.Write(myFile.FileSize)
'for i =0 to 8
'response.Write(myFile.ShowFileAccessInfo(i) )
'response.Write("
'")
'next
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -