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

原创 2005年04月26日 22:58:00
/**************************************************
*
*                  文件、目录,文本文件等多种操作类
*
*        这里不能把所有代码都贴出来,更多的请到  www.relaxlife.net  
*        来找吧!!
*
*************************************************/

<%
    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:/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


%>
版权声明:本文为博主原创文章,未经博主允许不得转载。

批处理文件操作:替换文本文件某系字符写入新文件、遍历目录并进行字符串替换、拷贝文件到新目录、去掉文件扩展名

批处理替换文本中某些字符并写入新文件 @echo off setlocal enabledelayedexpansion for /f "delims=" %%a in (原文件.txt) do...

c#操作文本文件或日志文件封装类

///      /// ***************************      /// ****操作文本文件或日志文件封装类 *****      /// ****  V1.0 1...
  • hyxwill
  • hyxwill
  • 2012年11月06日 15:15
  • 317

配置文件格式用哪个?目录+纯文本文件,XML,SQLite

稍具规模的软件都会需要一个配置文件来支持软件的运行。目前常见的配置文件格式有纯文本,XML,SQLite,自定义二进制格式,如何进行选择呢? 1 纯文本——永远不会失效的文件格式文本化是传统Unix哲...
  • smstong
  • smstong
  • 2016年01月27日 13:25
  • 2367

java创建目录+文本文件+输出文本到指定文件

package file; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; pub...
  • dfhgx
  • dfhgx
  • 2014年02月20日 14:41
  • 1945

C源程序:输入当前目录下的文本文件名称,尝试打开文件,逐个字符读取文件内容并显示出来

C源程序:输入当前目录下的文本文件名称,尝试打开文件,逐个字符读取文件内容并显示出来。...
  • ycjnx
  • ycjnx
  • 2017年06月22日 16:08
  • 344

C# 文件或目录 操作类

  • 2013年05月20日 11:26
  • 11KB
  • 下载

文件目录常用操作的类

  • 2014年01月03日 20:01
  • 10KB
  • 下载

使用C++文件流库fstream,读写操作十六进制文本文件

使用C++文件流库fstream,以字符串形式读取十六进制文本文件的内容,将这些十六进制数据转换为int型数据,并分类存储...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件、目录,文本文件等多种操作类
举报原因:
原因补充:

(最多只允许输入30个字)