- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > ASP >
- ASP FSO文件操作函數代碼(復制文件、重命名文件
FSO文件(File)對象屬性
DateCreated 返回該文件夾的創(chuàng )建日期和時(shí)間
DateLastAccessed 返回最后一次訪(fǎng)問(wèn)該文件的日期和時(shí)間
DateLastModified 返回最后一次修改該文件的日期和時(shí)間
Drive 返回該文件所在的驅動(dòng)器的Drive對象
Name 設定或返回文件的名字
ParentFolder 返回該文件的父文件夾的Folder對象
Path 返回文件的絕對路徑,可使用長(cháng)文件名
ShortName 返回DOS風(fēng)格的8.3形式的文件名
ShortPath 返回DOS風(fēng)格的8.3形式的文件絕對路徑
Size 返回該文件的大?。ㄗ止潱?
Type 如果可能,返回一個(gè)文件類(lèi)型的說(shuō)明字符串
FSO文件(File)對象方法
FSO文件對象方法 用途
CopyFile 拷貝一個(gè)或者多個(gè)文件到新路徑
CreateTextFile 創(chuàng )建文件并且返回一個(gè)TextStream對象
DeleteFile 刪除一個(gè)文件
OpenTextFile 打開(kāi)文件并且返回TextStream對象,以便讀取或者追加
文件操作,取文件大小
Function GetFileSize(FileName) '//功能:取文件大小 '//形參:文件名 '//返回值:成功為文件大小,失敗為-1 '// FPath=server.mappath("jinmozhe.rar") '本地文件地址 Set fso = CreateObject("scripting.FileSystemObject") Set f = fso.GetFile(FPath) size=f.size if len(size)>4 then response.write formatnumber(f.size/1024000,2)&"MB" else response.write formatnumber(f.size/1024,2)&"KB" end if
重命名文件:
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
創(chuàng )建目錄
<% '******************************************************* '函數名:CreateFolder(sPath) '作 用: 創(chuàng )建目錄 '參 數:sPath : 創(chuàng )建的相對目錄路徑 '返回值:成功 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
創(chuàng )建目錄再給兩個(gè)函數
<% Function CreateMultiFolder(ByVal CFolder) Dim objFSO, PhCreateFolder, CreateFolderArray, CreateFolder Dim i, ii, CreateFolderSub, PhCreateFolderSub, BlInfo BlInfo = False CreateFolder = CFolder On Error Resume Next Set objFSO = Server.CreateObject("Scripting.FileSystemObject") If Err Then Err.Clear() Exit Function End If If Right(CreateFolder, 1) = "/" Then CreateFolder = Left(CreateFolder, Len(CreateFolder) -1) End If CreateFolderArray = Split(CreateFolder, "/") For i = 0 To UBound(CreateFolderArray) CreateFolderSub = "" For ii = 0 To i CreateFolderSub = CreateFolderSub & CreateFolderArray(ii) & "/" Next PhCreateFolderSub = Server.MapPath(CreateFolderSub) If Not objFSO.FolderExists(PhCreateFolderSub) Then objFSO.CreateFolder(PhCreateFolderSub) End If Next If Err Then Err.Clear() Else BlInfo = True End If CreateMultiFolder = BlInfo End Function '自動(dòng)創(chuàng )建多極目錄 'code by jb51 reterry function createit(path) dim fsofo,cinfo,thepath,thepatharray dim i,ii,binfo binfo=false thepath=path set fsofo=createobject("scripting.filesystemobject") if err then err.clear exit function end if thepath=replace(thepath,"\","/") if left(thepath,1)="/" then thepath=right(thepath,len(thepath)-1) end if if right(thepath,1)="/" then thepath=left(thepath,len(thepath)-1) end if thepatharray=split(thepath,"/") for i=0 to ubound(thepatharray) createfoldersub1=createfoldersub1&thepatharray(i)&"/" createfoldersub=server.mappath(createfoldersub1) if not fsofo.folderexists(createfoldersub) then fsofo.createfolder(createfoldersub) end if next if err then err.clear else binfo=true end if createit=binfo end function createit("/202004/tools/") %>
讀取文件內容
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
創(chuàng )建文件
'******************************************************* '函數名:CreateFile(paramFileContent,paramFilePath) '作 用: 創(chuàng )建文件 '參 數: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 '文件路徑 多個(gè)文件用"|"隔開(kāi) '返回值:成功 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 '目錄路徑 '多個(gè)目錄用"|"分隔 '返回值:成功 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 '文件路徑 多個(gè)文件用"|"隔開(kāi) '返回值:成功 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 '文件路徑 多個(gè)文件用"|"隔開(kāi) '返回值:成功 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 '原文件名 多個(gè)用"|"隔開(kāi) ' strNewName '新文件名 多個(gè)用"|"隔開(kāi) ' 上面兩個(gè)參數請保持一致 '返回值:成功 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 '源文件名 多個(gè)用"|"隔開(kāi) ' TempEnd '目的文件名 多個(gè)用"|"隔開(kāi) ' 注意:上面兩個(gè)參數請保持一致,并且都為完整路徑, ' 已經(jīng)經(jīng)過(guò)Server.MapPath方法處理過(guò) '返回值:成功 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 %>
接著(zhù)分享幾個(gè)
<% Server.execute("redirect.asp") username=session("username") Dim SourceFile,TargetFile SourceFile = "test\xx.txt" TargetFile = "test\xx" TargetFile = TargetFile & "_" & username & ".txt" ' 文件已存在則先刪除 If IsExistFile(TargetFile) then call DelFile(TargetFile) End If ' 複製文件 call CopyFiles(SourceFile,TargetFile) '******************************************************* '函數名:CopyFiles((TempSource,TempEnd) '作 用:複製檔或者目錄 '參 數:TempSource '原始檔案名 多個(gè)用"|"隔開(kāi) ' TempEnd '目的檔案名 多個(gè)用"|"隔開(kāi)? '注意:上面兩個(gè)參數請保持一致,文件路徑為相對路徑 '已經(jīng)經(jīng)過(guò)Server.MapPath方法處理過(guò) '返回值:成功 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(Server.MapPath(srcName)) and not CopyFSO.FileExists(Server.MapPath(tarName)) then CopyFSO.CopyFile Server.MapPath(srcName),Server.MapPath(tarName) CopyFiles = true End If IF CopyFSO.FolderExists(Server.MapPath(srcName)) and not CopyFSO.FolderExists(Server.MapPath(tarName))then CopyFSO.CopyFolder Server.MapPath(srcName),Server.MapPath(tarName) CopyFiles = true End If Next Set CopyFSO = Nothing If Err then 'Err.clear() CopyFiles = false End If End Function '******************************************************* '函數名:IsExistFile(FilePath) '作 用: 判斷文件或目錄是否存在 '參 數:FilePath '檔路徑 多個(gè)檔用"|"隔開(kāi) '返回值:成功 true , 失敗 false '******************************************************* Function IsExistFile(FilePath) On Error Resume Next Dim fso,arrFile,i If 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 '檔路徑 多個(gè)檔用"|"隔開(kāi) '返回值:成功 true , 失敗 false '******************************************************* Function DelFile(FilePath) On Error Resume Next Dim Fso,arrFile,i If 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 %>
到此這篇關(guān)于A(yíng)SP FSO文件操作函數代碼(復制文件、重命名文件、刪除文件、替換字符串)的文章就介紹到這了,更多相關(guān)FSO 文件操作內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站