ASP FSO文件操作函數代碼(復制文件、重命名文件、刪除文件、替換字符串等)
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
FSO的意思是FileSystemObject,即文件系統對象。FSO對象模型包含在Scripting 類型庫 (Scrrun.Dll)中,它同時包含了Drive、Folder、File、FileSystemObject和TextStream五個對象,用來操作文件和文件夾十分方便 FSO文件(File)對象屬性 DateCreated 返回該文件夾的創建日期和時間 DateLastAccessed 返回最后一次訪問該文件的日期和時間 DateLastModified 返回最后一次修改該文件的日期和時間 Drive 返回該文件所在的驅動器的Drive對象 Name 設定或返回文件的名字 ParentFolder 返回該文件的父文件夾的Folder對象 Path 返回文件的絕對路徑,可使用長文件名 ShortName 返回DOS風格的8.3形式的文件名 ShortPath 返回DOS風格的8.3形式的文件絕對路徑 Size 返回該文件的大小(字節) Type 如果可能,返回一個文件類型的說明字符串 FSO文件(File)對象方法 FSO文件對象方法 用途 CopyFile 拷貝一個或者多個文件到新路徑 CreateTextFile 創建文件并且返回一個TextStream對象 DeleteFile 刪除一個文件 OpenTextFile 打開文件并且返回TextStream對象,以便讀取或者追加 重命名文件: 復制代碼 代碼如下: Function reName(sourceName,destName) dim oFso,oFile set oFso=server.createobject("Scripting.FileSystemObject") set oFile=oFso.getFile(Server.mappath(sourceName)) oFile.Name=destName Set oFso=Nothing Set oFile=Nothing End Function 刪除文件: 復制代碼 代碼如下: Function FSOdel(fileName) dim fso,f set fso = server.CreateObject("scripting.filesystemobject") f=server.MapPath(fileName) if fso.FileExists(f) then fso.DeleteFile f,true end if set f = nothing set fso = nothing End Function 替換文件中的字符串: 復制代碼 代碼如下: Function FSOreplace(fileName,Target,repString) Dim objFSO,objCountFile,FiletempData Set objFSO = Server.CreateObject("Scripting.FileSystemObject") Set objCountFile = objFSO.OpenTextFile(Server.MapPath(fileName),1,True) FiletempData = objCountFile.ReadAll objCountFile.Close FiletempData=Replace(FiletempData,Target,repString) Set objCountFile=objFSO.CreateTextFile(Server.MapPath(fileName),True) objCountFile.Write FiletempData objCountFile.Close Set objCountFile=Nothing Set objFSO = Nothing End Function <% '******************************************************* '函數名:CreateFolder(sPath) '作 用: 創建目錄 '參 數:sPath : 創建的相對目錄路徑 '返回值:成功 true , 失敗 false '******************************************************* 'response.Write createfolder("/dgsunshine/UploadFile/demo1/") Function CreateFolder(sPath) On Error Resume Next Dim Fso,Arrfolder,Folder,i,j If sPath="" then CreateFolder = False Exit Function End If If Left(sPath,1) = "/" Then Folder = "/" sPath = Mid(sPath,2,Len(sPath)) Else Folder = "./" End If if Right(sPath,1) = "/" then sPath = Left(sPath,Len(sPath)-1) ArrFolder = Split(sPath,"/") Set Fso = Server.CreateObject("Scripting.FileSystemObject") For i = 0 To Ubound(ArrFolder) If i = 0 then Folder = Folder & ArrFolder(i) & "/" Else Folder = Folder & ArrFolder(i) & "/" End If If Fso.folderExists(Server.MapPath(Folder)) = False then response.Write server.MapPath(folder) Fso.createFolder(Server.MapPath(Folder)) End If Next Set Fso = nothing If Err.Number <> 0 then Err.clear() CreateFolder = False Else CreateFolder = True End If End function Function getFile(paramFilePath) Set Fso = Server.CreateObject("Scripting.FileSystemObject") Set Fso_Read = fso.OpenTextFile(Server.MapPath(paramFilePath),1,false,-2) getFile = Fso_Read.readall Set Fso_Read = Nothing Set Fso = Nothing End Function '******************************************************* '函數名:CreateFile(paramFileContent,paramFilePath) '作 用: 創建文件 '參 數:paramFileContent '文件的內容 ' paramFilePath '文件名(不包括路徑) '返回值:成功 true , 失敗 false '******************************************************* Function CreateFile(paramFileContent,paramFilePath) On Error Resume Next Dim Fso,fWrite Set Fso = Server.CreateObject("Scripting.FileSystemObject") Set fWrite = Fso.CreateTextFile(Server.Mappath(paramFilePath),true) fWrite.write paramFileContent fWrite.close() Set fWrite = nothing Set Fso = nothing If Err.number <> 0 Then Err.clear() CreateFile = False Else CreateFile = True End If End Function '******************************************************* '函數名:DelFile(FilePath) '作 用: 刪除文件 '參 數:FilePath '文件路徑 多個文件用"|"隔開 '返回值:成功 true , 失敗 false '******************************************************* Function DelFile(FilePath) On Error Resume Next Dim fso,arrFile,i If GetSafeStr(FilePath,"")="" then CreateFolder = false Exit Function End If arrFile = Split(FilePath,"|") Set Fso = Server.CreateObject("Scripting.FileSystemObject") for i=0 to UBound(arrFile) FilePath = arrFile(i) If Fso.FileExists(Server.MapPath(FilePath)) then Fso.DeleteFile Server.MapPath(FilePath) End If Next Set fso = nothing If Err then Err.clear() DelFile = false Else DelFile = true End If End Function '******************************************************* '函數名:DelFolder(FolderPath) '作 用: 刪除目錄 '參 數:FolderPath '目錄路徑 '多個目錄用"|"分隔 '返回值:成功 true , 失敗 false '******************************************************* Function DelFolder(FolderPath) On Error Resume Next Dim Fso,arrFolder,i If GetSafeStr(FolderPath,"")="" then DelFolder = false Exit Function End If arrFolder = Split(FolderPath,"|") Set Fso = Server.CreateObject("Scripting.FileSystemObject") For i=0 to UBound(arrFolder) FolderPath = arrFolder(i) If Fso.folderexists(Server.MapPath(FolderPath)) then Fso.deleteFolder Server.MapPath(FolderPath) End If Next If Err then Err.clear() DelFolder = false 'ShowError "刪除目錄失敗","" else DelFolder = true End If End Function '******************************************************* '函數名:IsExistFile(FilePath) '作 用: 判斷文件或目錄是否存在 '參 數:FilePath '文件路徑 多個文件用"|"隔開 '返回值:成功 true , 失敗 false '******************************************************* Function IsExistFile(FilePath) On Error Resume Next Dim fso,arrFile,i If GetSafeStr(FilePath,"")="" then IsExistFile = false End If arrFile = Split(FilePath,"|") Set Fso = Server.CreateObject("Scripting.FileSystemObject") for i=0 to UBound(arrFile) FilePath = arrFile(i) If Fso.FileExists(Server.MapPath(FilePath)) then IsExistFile = True End If If Fso.folderexists(Server.MapPath(FilePath)) then IsExistFile = True End If Next Set fso = nothing If Err then Err.clear() IsExistFile = false 'ShowError "判斷文件或目錄是否存在失敗","" else IsExistFile = true End If End Function '******************************************************* '函數名:DelFile(FilePath) '作 用: 刪除文件或目錄 '參 數:FilePath '文件路徑 多個文件用"|"隔開 '返回值:成功 true , 失敗 false '******************************************************* Function DelFile(FilePath) On Error Resume Next Dim fso,arrFile,i If GetSafeStr(FilePath,"")="" then CreateFolder = false End If arrFile = Split(FilePath,"|") Set Fso = Server.CreateObject("Scripting.FileSystemObject") for i=0 to UBound(arrFile) FilePath = arrFile(i) If Fso.FileExists(Server.MapPath(FilePath)) then Fso.DeleteFile Server.MapPath(FilePath) End If If Fso.folderexists(Server.MapPath(FilePath)) then Fso.deleteFolder Server.MapPath(FilePath) End If Next Set fso = nothing If Err then Err.clear() DelFile = false 'ShowError "刪除文件或目錄失敗","" else DelFile = true End If End Function '******************************************************* '函數名:ReNameFile((oldName,newName) '作 用: 重命名文件或目錄 '參 數:strOldName '原文件名 多個用"|"隔開 ' strNewName '新文件名 多個用"|"隔開 ' 上面兩個參數請保持一致 '返回值:成功 true , 失敗 false '******************************************************* Function ReNameFile(strOldName,strNewName) On Error Resume Next Dim fso,arrOld,arrNew,i,oldName,newName old = GetSafeStr(strOldName,"") Newfile = GetSafeStr(strNewName,"") If old ="" or Newfile = "" then ReNameFile = false Exit Function End If arrOld = Split(strOldName,"|") arrNew = Split(strNewName,"|") If UBound(arrOld)<> UBound(arrNew) then ReNameFile = false Exit Function End If Set Fso = Server.CreateObject("Scripting.FileSystemObject") for i=0 to UBound(arrOld) oldName = Server.MapPath(arrOld(i)) newName = Server.MapPath(arrNew(i)) If Fso.FileExists(oldName) and not Fso.FileExists(newName) then fso.MoveFile oldName,newName 'ReNameFile = True End If Next Set fso = nothing If Err.Number <> 0 Then Err.clear() ReNameFile = false Else ReNameFile = True End If End Function '******************************************************* '函數名:CopyFiles((TempSource,TempEnd) '作 用: 復制文件或者目錄 '參 數:TempSource '源文件名 多個用"|"隔開 ' TempEnd '目的文件名 多個用"|"隔開 ' 注意:上面兩個參數請保持一致,并且都為完整路徑, ' 已經經過Server.MapPath方法處理過 '返回值:成功 true , 失敗 false '******************************************************* Function CopyFiles(TempSource,TempEnd) On Error Resume Next Dim CopyFSO,arrSource,arrEnd CopyFiles = false Set CopyFSO = Server.CreateObject("Scripting.FileSystemObject") If TempSource ="" or TempEnd = "" then ErrRaise "復制文件或目錄","條件為空" CopyFiles = false Exit Function End If arrSource = Split(TempSource,"|") arrEnd = Split(TempEnd,"|") If UBound(arrSource) <> UBound(arrEnd) then CopyFiles= false Exit Function End If for i=0 to UBound(arrSource) srcName = arrSource(i) tarName = arrEnd(i) IF CopyFSO.FileExists(srcName) and not CopyFSO.FileExists(tarName) then CopyFSO.CopyFile srcName,tarName CopyFiles = true End If IF CopyFSO.FolderExists(srcName) and not CopyFSO.FolderExists(tarName)then CopyFSO.CopyFolder srcName,tarName CopyFiles = true End If Next Set CopyFSO = Nothing If Err then
'Err.clear() CopyFiles = false End If End Function %> 該文章在 2011/12/19 1:17:57 編輯過
|
關鍵字查詢
相關文章
正在查詢... |