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

<%
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
%>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值