常用的fso操作通用函数

作者:网络 来源:佚名 更新时间:2008-01-04 02:35:02 点击:

以下是几则在asp中经常应用到fso操作函数,实用精典,推荐收藏!

<%
'功能:判断文件名是否合法
'isfilename [filename]
'文件名不能包含下列任何字符之一
' \ / : * ? " < > |
function isfilename(sfilename)
dim serrorstr, i
isfilename = true
serrorstr = array("\", "/", ":", "*", "?", """", "<", ">", "|")
if len(sfilename & "") = 0 then isfilename = false : exit function
for i = 0 to 8
if instr(sfilename, serrorstr(i)) > 0 then
isfilename = false
end if
next
end function
%>


<%
'功能:删除一个目录。除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。
'rd [drive:]path
'支持删除多级目录,支持相对路径和绝对路径。
'支持用“...”指定父目录的父目录。
''需要path函数在下面
function rd(byval spath)
on error resume next
dim ofso
spath = path(spath) '//此处需要path函数
set ofso = server.createobject("scripting.filesystemobject")
if ofso.folderexists(spath) then
ofso.deletefolder spath, true
rd = true
end if
set ofso = nothing
if err.number > 0 then
err.clear()
rd = false
else
rd = true
end if
end function
%>


<%
'功能:创建目录。
'md [drive:]path
'支持创建多级目录,支持相对路径和绝对路径。
'支持用“...”指定父目录的父目录。

'需要path函数在下面

function md(spath)
on error resume next
dim apath, ipath, i, stmppath
dim ofso
spath = path(spath) '//此处需要path函数
set ofso = server.createobject("scripting.filesystemobject")
if ofso.folderexists(spath) then md = true : exit function
apath = split(spath, "\")
ipath = ubound(apath)
stmppath = ""
for i = 0 to ipath
stmppath = stmppath & apath(i) & "\"
if not ofso.folderexists(stmppath) then
ofso.createfolder(stmppath)
end if
next
set ofso = nothing
if err.number > 0 then
err.clear()
md = false
else
md = true
end if
end function
%>


<%
'功能:计算目录绝对路径。
'path [drive:]path
'支持多级目录,支持相对路径和绝对路径。
'支持用“...”指定父目录的父目录。


function path(byval spath)
on error resume next
if len(spath&"") = 0 then spath = "./"
if right(spath, 1) = ":" then spath = spath & "\"
spath = replace(spath, "/", "\")
spath = replaceall(spath, "\\", "\", false)
spath = replaceall(spath, "...", "..\..", false)
if (instr(spath, ":") > 0) then
spath = spath
else
spath = server.mappath(spath)
end if
path = spath
end function
%>



<%
'功能:判断文件是否已存在。
'isfileexist(文件名)


public function isfileexist(byval sfilename)
on error resume next
dim ofso
sfilename = path(sfilename)
set ofso = createobject("scripting.filesystemobject")
isfileexist = ofso.fileexists(sfilename)
set ofso = nothing
end function
%>


<%
'功能:判断文件夹是否已存在。
'isfolderexist(文件名)

public function isfolderexist(byval sfoldername)
on error resume next
dim ofso
sfoldername = path(sfoldername)
set ofso = createobject("scripting.filesystemobject")
isfolderexist = ofso.folderexists(sfoldername)
set ofso = nothing
end function
%>


<%
'功能:创建十进制文本文件。
'createtextfile(文件内容,文件名)
'文件名支持相对路径和绝对路径。
'支持用“...”指定父目录的父目录。

function createtextfile (byval stext, byval sfilename)
on error resume next
sfilename = path(sfilename)
set ofso = createobject("scripting.filesystemobject")
set owrite = ofso.opentextfile(sfilename, 2, true)
owrite.write stext
owrite.close
set ofso = nothing
set owrite = nothing
if err.number > 0 then
err.clear()
createtextfile = false
else
createtextfile = true
end if
end function
%>