首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 项目交易 | 网友作品 | 读书 | ACM题库 | 源码
亲,您未登录哦! 登录 | 注册

Asp中一些FSO方面的函数

(加入日期: 2005-11-14 )

打印文章】【字体:

分享到:
''//==================================文件操作==================================

''取文件大小
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:\soft\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:\soft\delphi\my_pro\代码库.exe")
''Response.Write ShowDatecreated("G:\soft\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:\soft\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:\soft\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:\soft\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


%>

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章