ASP中常用的22个FSO文件操作函数

本文介绍了ASP中FSO组件的22个常用文件操作函数,涵盖了文件与目录的创建、删除、复制、移动及属性读取等功能。
ASP中常用的22个FSO文件操作函数
2009年07月29日
  ASP中FSO组件的功能很强大,如果没有FSO很难想象ASP会变成什么样。对于学习asp编程的朋友一定会接触到FSO相关的操作,如备份数据库,读取文件,生成静态页面等等。本文就列举了ASP中常用的22个FSO文件操作函数,相信能为您带来方便 !
  [b]1.[/b][b]文件操作,取文件大小[/b]
  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 [b]2.[/b][b]使用[/b][b]FSO[/b][b]删除指定文件[/b]
  Function deleteAFile(filespec)
  ’//功能:文件删除
  ’//形参:文件名
  ’//返回值:成功为1,失败为-1
  ’//
  If ReportFileStatus(filespec) = 1 Then
  fso.deleteFile(filespec)
  deleteAFile = 1
  Else
  deleteAFile = -1
  End if
  End Function [b]3.FSO[/b][b]显示指定目录下的所有文件[/b]
  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 [b]4.[/b][b]使用[/b][b]fso[/b][b]复制指定文件[/b]
  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 [b]5.[/b][b]源文件存在时目的文件不存在时才能对文件进行移动[/b]
  ’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 [b]6.FSO[/b][b]判断指定文件是否存在?[/b][b] [/b]
  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 [b]7.FSO[/b][b]读取文件创建日期[/b]
  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
  [b]8.FSO[/b][b]显示文件读写权限属性[/b]
  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
  [b]9.FSO[/b][b]显示指定文件最后一次访问[/b][b]/[/b][b]最后一次修改时间[/b][b] [/b]
  ’Response.Write ShowFileAccessInfo("文件路径")
  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 [b]10.FSO[/b][b]写指定内容到文本文件[/b]
  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 [b]11.[/b][b]利用[/b][b]FSO[/b][b]读取文本文件内容[/b][b] [/b]
  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 [b] [/b]
  [b]12.FSO[/b][b]返回文件夹目录空间大小[/b]
  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 [b]13.[/b][b]使用[/b][b]FSO[/b][b]创建文件夹[/b]
  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 [b]14.FSO[/b][b]删除指定文件夹目录[/b][b] [/b]
  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 [b]15.FSO[/b][b]显示指定目录的文件夹目录列表[/b]
  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 [b]16.FSO[/b][b]复制指定文件夹目录[/b]
  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 [b]17.[/b][b]移动指定文件夹目录[/b]
  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 [b]18.[/b][b]判断某目录是否存在[/b]
  ’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 [b]19.[/b][b]显示目录创建时信息[/b]
  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 [b]20.[/b][b]返回文件夹嵌套数[/b]
  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 &"
"
  Set f = f.ParentFolder
  n = n + 1
  Loop
  DisplayLevelDepth ="指定的文件夹是嵌套级为 " & n & "的文件夹。
"&Path
  End If
  End Function [b]21.[/b][b]判断指定磁盘驱动器是否存在?[/b]
  ’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
  [b]22.FSO[/b][b]返回指定磁盘可用的类型包括[/b][b] FAT[/b][b]、[/b][b]NTFS [/b][b]和[/b][b] CDFS[/b][b]。[/b][b] [/b]
  ’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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值