使用FSO修改文件特定內容的函數
function FSOchange(filename,Target,String)
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,String)
Set objCountFile=objFSO.CreateTextFile(Server.MapPath(filename),True)
objCountFile.Write FiletempData
objCountFile.Close
Set objCountFile=Nothing
Set objFSO = Nothing
End Function
使用FSO讀取文件內容的函數
function FSOFileRead(filename)
Dim objFSO,objCountFile,FiletempData
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objCountFile = objFSO.OpenTextFile(Server.MapPath(filename),1,True)
FSOFileRead = objCountFile.ReadAll
objCountFile.Close
Set objCountFile=Nothing
Set objFSO = Nothing
End Function
使用FSO讀取文件某一行的函數
function FSOlinedit(filename,lineNum)
if linenum < 1 then exit function
dim fso,f,temparray,tempcnt
set fso = server.CreateObject("scripting.filesystemobject")
if not fso.fileExists(server.mappath(filename)) then exit function
set f = fso.opentextfile(server.mappath(filename),1)
if not f.AtEndofStream then
tempcnt = f.readall
f.close
set f = nothing
temparray = split(tempcnt,chr(13)&chr(10))
if lineNum>ubound(temparray)+1 then
exit function
else
FSOlinedit = temparray(lineNum-1)
end if
end if
end function
使用FSO寫文件某一行的函數
function FSOlinewrite(filename,lineNum,Linecontent)
if linenum < 1 then exit function
dim fso,f,temparray,tempCnt
set fso = server.CreateObject("scripting.filesystemobject")
if not fso.fileExists(server.mappath(filename)) then exit function
set f = fso.opentextfile(server.mappath(filename),1)
if not f.AtEndofStream then
tempcnt = f.readall
f.close
temparray = split(tempcnt,chr(13)&chr(10))
if lineNum>ubound(temparray)+1 then
exit function
else
temparray(lineNum-1) = lineContent
end if
tempcnt = join(temparray,chr(13)&chr(10))
set f = fso.createtextfile(server.mappath(filename),true)
f.write tempcnt
end if
f.close
set f = nothing
end function
使用FSO添加文件新行的函數
function FSOappline(filename,Linecontent)
dim fso,f
set fso = server.CreateObject("scripting.filesystemobject")
if not fso.fileExists(server.mappath(filename)) then exit function
set f = fso.opentextfile(server.mappath(filename),8,1)
f.write chr(13)&chr(10)&Linecontent
f.close
set f = nothing
end function
讀文件最後一行的函數
function FSOlastline(filename)
dim fso,f,temparray,tempcnt
set fso = server.CreateObject("scripting.filesystemobject")
if not fso.fileExists(server.mappath(filename)) then exit function
set f = fso.opentextfile(server.mappath(filename),1)
if not f.AtEndofStream then
tempcnt = f.readall
f.close
set f = nothing
temparray = split(tempcnt,chr(13)&chr(10))
FSOlastline = temparray(ubound(temparray))
end if
end function
FSO替換指定文件的字符
程序代碼:
'FSO替換指定文件的字符
Function FSOLineEdit(filename,Target,String)
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,String)
Set objCountFile = objFSO.CreateTextFile(Server.MapPath(filename),True)
objCountFile.Write FiletempData
objCountFile.Close
Set objCountFile = Nothing
Set objFSO = Nothing
End Function
'Response.Write FSOLineEdit("test.txt","世界","明天是一個好天去")
刪除文件
程序代碼:
'刪除文件
Function DelFile(Filename)
If Filename <> "" Then
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(Filename) Then
FSO.DeleteFile Filename
End If
Set FSO = Nothing
End If
End Function
判斷文件是否存在
程序代碼:
'判斷文件是否存在
Function ReportFileStatus(filespec)
Dim FSO,msg
Set FSO = CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(filespec)) Then
msg = filespec & " exists."
Else
msg = filespec & " doesn't exist."
End If
ReportFileStatus = msg
End Function
使用FSO修改文件特定內容的函數
程序代碼:
'使用FSO修改文件特定內容的函數
Function FSOchange(filename,Target,String)
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,String)
Set objCountFile = objFSO.CreateTextFile(Server.MapPath(filename),True)
objCountFile.Write FiletempData
objCountFile.Close
Set objCountFile = Nothing
Set objFSO = Nothing
End Function
使用FSO寫文件某一行的函數
程序代碼:
'使用FSO寫文件某一行的函數
Function FSOlinewrite(filename,lineNum,Linecontent)
If linenum < 1 Then Exit Function
Dim FSO,f,temparray,tempCnt
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If Not FSO.FileExists(Server.MapPath(filename)) Then Exit Function
Set f = FSO.OpenTextFile(Server.MapPath(filename),1)
If Not f.AtEndofStream Then
tempcnt = f.ReadAll
f.Close
temparray = Split(tempcnt,Chr(13)&Chr(10))
If lineNum>UBound(temparray)+1 Then
Exit Function
Else
temparray(lineNum-1) = lineContent
End If
tempcnt = jo& #105;n(temparray,Chr(13)&Chr(10))
Set f = FSO.cr& #101;atetextfile(Server.MapPath(filename),true)
f.Write tempcnt
End If
f.Close
Set f = Nothing
End Function
建立目錄的程序,如果有多級目錄,則一級一級的創建
程序代碼:
'建立目錄的程序,如果有多級目錄,則一級一級的創建
Function CreateDIR(ByVal LocalPath)
On Error Resume Next
LocalPath = Replace(LocalPath,"\","/")
Set FileObject = Server.CreateObject("Scripting.FileSystemObject")
patharr = Split(LocalPath,"/")
path_level = UBound(patharr)
For i = 0 to path_level
If i=0 Then pathtmp=patharr(0) & "/" Else pathtmp = pathtmp & patharr(i) & "/"
cpath = Left(pathtmp,Len(pathtmp)-1)
If Not FileObject.FolderExists(cpath) Then FileObject.CreateFolder cpath
Next
Set FileObject = Nothing
If Err.Number <> 0 Then
CreateDIR = False
Err.Clear
Else
CreateDIR = True
End If
End Function
下面列舉一下這些不常用但是卻非常酷的功能:
很少被了解的FSO功能
GetSpecialFolder Method 返回特定的Windows文件夾的路徑: Windows安裝目錄;Windows系統目錄;Windows臨時目錄 FSO.GetSpecialFolder([0, 1, or 2])
GetTempName Method 返回一個隨機產生的文件或者目錄名字,用於需要存儲臨時數據時
GetAbsolutePathName Method 返回文件夾的絕對路徑(類似於Server.MapPath)。
比如,FSO.GetAbsolutePathName("region") 將返回類似於下面的結果:"c:mydocsmyfolder egion"
GetExtensionName Method 返回路徑中最後部分的擴展名
(比如:FSO.GetExtensionName("c:docs est.txt") 將返回txt)
GetBaseName and GetParentFolder Methods 返回路徑中最後部分的父文件夾
(比如:FSO.GetParentFolder ("c:docsmydocs") 將返回'docs')
Drives Property 返回所有本地可用驅動器的集合,用於建立資源浏覽器樣的用戶接口。
使用上面的功能時,最好建立好出錯處理的代碼。因為如果需要的參數不存在,將會產生麻煩的信息。