• 文件操作的CLASS(VB)


    <%
    class cls_fso 
        
    public objfso 
        
    private sub class_initialize() 
            
    set objfso = server.createobject("scripting.filesystemobject"
        
    end sub 
        
    private sub class_terminate() 
            
    set objfso = nothing 
        
    end sub 
        
        
    '文件是否存在
        public function reportfilestatus(filename) 
            
    dim msg 
            msg 
    = -1 
            
    if (objfso.fileexists(filename)) then 
                msg 
    = 1 
            
    else 
                msg 
    = -1 
            
    end if 
            reportfilestatus 
    = msg 
        
    end function 

        
    '=======文件操作======== 
        '取文件大小
        public function getfilesize(filename) 
            
    dim f 
            
    if reportfilestatus(filename) = 1 then 
                
    set f = objfso.getfile(filename) 
                getfilesize 
    = f.size 
            
    else 
                getfilesize 
    = -1 
            
    end if 
        
    end function 

        
    '刪除文件
        public function deleteafile(filespec) 
            
    if reportfilestatus(filespec) = 1 then 
                objfso.deletefile(filespec) 
                deleteafile 
    = 1 
            
    else 
                deleteafile 
    = -1 
            
    end if 
        
    end function 

        
    '顯示文件列表
        public function showfilelist(folderspec) 
            
    dim f, f1, fc, s 
            
    if reportfolderstatus(folderspec) = 1 then 
                
    set f = objfso.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 

        
    '復制文件
        public function copyafile(sourcefile, destinationfile) 
            
    dim myfile 
            
    if reportfilestatus(sourcefile) = 1 then 
                
    set myfile = objfso.getfile(sourcefile) 
                myfile.copy (destinationfile) 
                copyafile 
    = 1 
            
    else 
                copyafile 
    = -1 
            
    end if 
        
    end function 

        
    '移動文件
        public function moveafile(sourcefile,destinationfile) 
            
    if reportfilestatus(sourcefile) = 1 and reportfilestatus(destinationfileorpath) = -1 then 
                objfso.movefile sourcefile,destinationfileorpath 
                moveafile 
    = 1 
            
    else 
                moveafile 
    = -1 
            
    end if 
        
    end function 


        
    '文件創建日期
        public function showdatecreated(filespec) 
            
    dim f 
            
    if reportfilestatus(filespec) = 1 then 
                
    set f = objfso.getfile(filespec) 
                showdatecreated 
    = f.datecreated 
            
    else 
                showdatecreated 
    = -1 
            
    end if 
        
    end function 

        
    '文件屬性
        public function getattributes(filename) 
            
    dim f 
            
    dim strfileattributes 
            
    if reportfilestatus(filename) = 1 then 
                
    set f = objfso.getfile(filename) 
                
    select case f.attributes 
                    
    case 0 strfileattributes = "普通文件,沒有設置任何屬性." 
                    
    case 1 strfileattributes = "只讀文件,可讀寫. " 
                    
    case 2 strfileattributes = "隱藏文件,可讀寫." 
                    
    case 4 strfileattributes = "系統文件,可讀寫." 
                    
    case 16 strfileattributes = "文件夾或目錄,只讀." 
                    
    case 32 strfileattributes = "上次備份後已更改的文件,可讀寫." 
                    
    case 1024 strfileattributes = "鏈接或是快捷方式,只讀." 
                    
    case 2048 strfileattributes = "壓縮文件,只讀." 
                
    end select 
                getattributes 
    = strfileattributes 
            
    else 
                getattributes 
    = -1 
            
    end if 
        
    end function 

        
    '最後一次訪問,最後一次修改時間
        public function showfileaccessinfo(filename,infotype) 
            
    '//功能:顯示文件創建信息 
            '//形參:文件名,信息類別.
            '// 1 -----創建時間
            '// 2 -----上次訪問時間
            '// 3 -----上次修改時間 
            '// 4 -----文件路徑
            '// 5 -----文件名稱 
            '// 6 -----文件類型 
            '// 7 -----文件大小 
            '// 8 -----父目錄 
            '// 9 -----根目錄 
            dim f, s 
            
    if reportfilestatus(filename) = 1 then 
                
    set f = objfso.getfile(filename) 
                
    select case infotype 
                    
    case 1 s = f.datecreated 
                    
    case 2 s = f.datelastaccessed 
                    
    case 3 s = f.datelastmodified 
                    
    case 4 s = f.path 
                    
    case 5 s = f.name 
                    
    case 6 s = f.type 
                    
    case 7 s = f.size 
                    
    case 8 s = f.parentfolder 
                    
    case 9 s = f.rootfolder 
                
    end select 
                showfileaccessinfo 
    = s 
            
    else 
                showfileaccessinfo 
    = -1 
            
    end if 
        
    end function 

        
    '寫文件
        public function writetxtfile(filename,textstr,writeorappendtype) 
            
    const forreading = 1, forwriting = 2 , forappending = 8 
            
    dim f, m 
            
    select case writeorappendtype 
                
    case 1'文件進行寫操作
                    set f = objfso.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 = objfso.opentextfile(filename, forappending) 
                        f.write textstr 
                        f.close 
                        writetxtfile 
    = 1 
                    
    else 
                        writetxtfile 
    = -1 
                    
    end if 
                
    end select 
        
    end function 

        
    '讀文本文件
        public function readtxtfile(filename) 
            
    const forreading = 1, forwriting = 2 
            
    dim f, m 
            
    if reportfilestatus(filename) = 1 then 
                
    set f = objfso.opentextfile(filename, forreading) 
                m 
    = f.readline 
                readtxtfile 
    = m 
                f.close 
            
    else 
                readtxtfile 
    = -1 
            
    end if 
        
    end function 

        
        
    '=======目錄操作======== 
        '目錄是否存在
        public function reportfolderstatus(fldr) 
            
    dim msg 
            msg 
    = -1 
            
    if (objfso.folderexists(fldr)) then 
                msg 
    = 1 
            
    else 
                msg 
    = -1 
            
    end if 
            reportfolderstatus 
    = msg 
        
    end function 
        
    '取目錄大小
        public function getfoldersize(foldername) 
            
    dim f 
            
    if reportfolderstatus(foldername) = 1 then 
                
    set f = objfso.getfolder(foldername) 
                getfoldersize 
    = f.size 
            
    else 
                getfoldersize 
    = -1 
            
    end if 
        
    end function 

        
    '創建新的目錄
        public function createfolderdemo(foldername) 
            
    dim f 
            
    if reportfolderstatus(folderspec) = 1 then 
                createfolderdemo 
    = -1 
            
    else 
                
    set f = objfso.createfolder(foldername) 
                createfolderdemo 
    = 1 
            
    end if 
        
    end function 

        
    '刪除目錄
        public function deleteafolder(folderspec) 
            response.write folderspec 
            
    if reportfolderstatus(folderspec) = 1 then 
                objfso.deletefolder (folderspec) 
                deleteafolder 
    = 1 
            
    else 
                deleteafolder 
    = -1 
            
    end if 
        
    end function 

        
    '顯示目錄列表
        public function showfolderlist(folderspec) 
            
    dim f, f1, fc, s 
            
    if reportfolderstatus(folderspec) = 1 then 
                
    set f = objfso.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 

        
    '目錄復制
        public function copyafolder(sourcefolder,destinationfolder) 
            objfso.copyfolder sourcefolder,destinationfolder 
            copyafolder 
    = 1 
            copyafolder 
    = -1 
        
    end function 


        
    '目錄進行移動
        public function moveafolder(sourcepath,destinationpath) 
            
    if reportfolderstatus(sourcepath)=1 and reportfolderstatus(destinationpath)=0 then 
                objfso.movefolder sourcepath, destinationpath 
                moveafolder 
    = 1 
            
    else 
                moveafolder 
    = -1 
            
    end if 
        
    end function 


        
    '目錄創建信息
        public function showfolderaccessinfo(foldername,infotype) 
            
    '//功能:顯示目妹創建時信息 
            '//形參:目錄名,信息類別 
            '// 1 -----創建時間 
            '// 2 -----上次訪問時間 
            '// 3 -----上次修改時間 
            '// 4 -----目錄路徑
            '// 5 -----目錄名稱 
            '// 6 -----目錄類型 
            '// 7 -----目錄大小 
            '// 8 -----父目錄
            '// 9 -----根目錄 
            dim f, s 
            
    if reportfolderstatus(foldername) = 1 then 
                
    set f = objfso.getfolder(foldername) 
                
    select case infotype 
                    
    case 1 s = f.datecreated 
                    
    case 2 s = f.datelastaccessed 
                    
    case 3 s = f.datelastmodified 
                    
    case 4 s = f.path 
                    
    case 5 s = f.name 
                    
    case 6 s = f.type 
                    
    case 7 s = f.size 
                    
    case 8 s = f.parentfolder 
                    
    case 9 s = f.rootfolder 
                
    end select 
                showfolderaccessinfo 
    = s 
            
    else 
                showfolderaccessinfo 
    = -1 
            
    end if 
        
    end function 

        
    '遍歷目錄
        public function displayleveldepth(pathspec) 
            
    dim f, n ,path 
            
    set f = objfso.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 

        
    '========磁盤操作======== 
        '驅動器是否存在
        public function reportdrivestatus(drv) 
            
    dim msg 
            msg 
    = -1 
            
    if objfso.driveexists(drv) then 
                msg 
    = 1 
            
    else 
                msg 
    = -1 
            
    end if 
            reportdrivestatus 
    = msg 
        
    end function 

        
    '可用的返回類型包括fat,ntfs,cdfs.
        public function showfilesystemtype(drvspec) 
            
    dim d 
            
    if reportdrivestatus(drvspec) = 1 then 
                
    set d = objfso.getdrive(drvspec) 
                showfilesystemtype 
    = d.filesystem 
            
    else 
                showfilesystemtype 
    = -1 
            
    end if 
        
    end function 
    end class 
    %
    >

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    常用正则
    存储过程里循环读取Array
    倒倒系列1
    利用HttpHandler生成静态页面
    古代人用拼音吗?
    确认Email无法复制粘贴
    C#调用OpenCV(一) 配置VS+OpenCV+Emgu cv
    ArcGIS Desktop9.3 (需要双击注册文件的破解包)在64位操作系统上的安装方法
    WebLogic console页面,localhost能登陆,IP不能登录
    javascript prototype学习(一)prototype的用处
  • 原文地址:https://www.cnblogs.com/Athrun/p/1039107.html
Copyright © 2020-2023  润新知