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 返回該文件的大?。ㄗ止潱?nbsp;
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
%>