通过数据记录集里面的文件路径信息删除所有存在的文件:
Set RsDel=Server.CreateObject("ADODB.RecordSet")
RsDel.open "SELECT html from Table WHERE html<>'',conn,1,1 '这里是只查询
Do While NOT RsDel.EOF '只要数据集记录不为空就不退出循环
Fhtml=RsDel("html")
set fso = createobject("scripting.filesystemobject")
if fso.FileExists(Fhtml) then '判断文件是否存在,如果存在才删除
fso.deletefile(server.mappath(Fhtml))
end if
set fso = nothing
RsDel.MoveNext '这个是不能忘的,忘了就成死循环了
Loop
在指定路径生成文件,如果路径中文件夹不存在则先创建文件夹:
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(server.MapPath("\" &filePath& "\" &Ftime)) then
Set fout = fso.CreateTextFile(server.mappath("\" &filePath& "\" &Ftime & "\" & fname))
fout.WriteLine pencat '写入文件内容
fout.close
else
Set f=fso.CreateFolder(Server.MapPath("\" &filePath& "\" &Ftime)) '创建文件夹
Set fout = fso.CreateTextFile(server.mappath("\" &filePath& "\" &Ftime & "\" & fname)) '创建文件
fout.WriteLine pencat
fout.close
end if
Set fso=nothing
关于EOF和BOF想说的一些话:
BOF 说白了就是 Begin of File 指在第一个记录之前
EOF 说白了就是 End of File 指在最后一个记录之后
当然对于这两个还可以分别这样理解,EOF:文件的末尾BOF空的文件;EOF指针到达尾部BOF指针到达顶部.
EOF和BOF的利用,我们通常可以:
1.确定Recordset中是否存在记录;
2.从一个记录MoveNext到另一个记录时是否超出 Recordset 对象的限制;
BOF和EOF在程序中的返回值都是布尔型:
1.当前记录位于第一个记录之前,BOF 属性将返回 True ,当前记录为第一个记录或位于其后则将返回 False ;
2.当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回 True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False ;
3.如果 BOF 或 EOF 属性为 True,则没有当前记录;
4.如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为 True,而 Recordset 对象的 RecordCount 属性设置为零。但是打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而 BOF 和 EOF 属性为 False;
5.如果删除 Recordset 对象中保留的最后记录,BOF 和 EOF 属性将保持 False,直到重新安排当前记录。
推荐两条相关的用法:
if not (rs.bof and rs.eof) then
如果指针位于 RecordSet 的当中(并非是最后一条和第一条)或指有记录时,那么才执行……
if rs.bof and rs.eof then
如果没有任何记录,那么执行……