用FSO进行内容管理
到此,你对FSO可能已经有了很好的体会。让我们再深入研究一步,来解决更复杂的难题。
首先,你可能希望对文件改名。为了跟踪所有的文档,你将要重新命名它们以便唯一,这样就可以被系统容易地区
别。很不幸,FSO不允许简单的文件改名操作,所以我们不得不修改一下。
<
%
' create the fso object
set fso =
Server.Createobject("scripting.FileSystemObject")
path = "c: emp
est.txt"
strDate = Replace(Date(), "/", "")
strDir =
"c:inetpubwwwrootarticles" & strDate
strNewFileName = Hour(Now) &
"_" & Minute(Now) & "_" &
second(Now) &
".html"
' open the old file
set file = fso.opentextfile(path, 1)
< -- For reading
strText = file.readall
set file =
nothing
' check for and/or create folder
if not
fso.folderexists(Server.MapPath(strDir)) then
set f =
fso.CreateFolder(Server.MapPath(strDir))
else
set f =
fso.GetFolder(Server.MapPath(strDir))
end if
' create and write
new file
set file = fso.Createtextfile(f.path & "" &
strNewFileName)
file.write(strText)
set f =
nothing
file.close
set file = nothing
' delete the old
file
fso.DeleteFile(path & "" & rst("FileName") & i)
'
clean up
set fso =
nothing
%>
FSO能力的不足在这里却成了优势,我们可以一次执行2步。首先,打开文件并读入文件的内容。假设这里要创建一个
唯一的文件夹和一个唯一的文件来存储文章。然而,因为文件夹的路径每天都将改变,所以必须首先检查是否文件夹已经
存在,如果不存在,就创建它。这在if
not
fso.folderexists代码段完成。然后,取得那个路径,创建一个新的文件。新
文件建立完成后,删除掉旧文件,这通过fso.DeleteFile来完成。
这2步就是:对文件改名,然后移动到一个更合适的目录下。注意,在这里还可以对文件进行更多地操作,比如在写
入新文件前进行一下内容的编辑。
信息来源: