FSO操作文件、文件夹,RS.EOF和RS.BOF等的小结

本文介绍如何使用ASP.NET进行文件的批量删除及在指定路径生成文件的方法,并详细解释了Recordset对象中BOF与EOF属性的作用及使用技巧。

  通过数据记录集里面的文件路径信息删除所有存在的文件:

  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
   如果没有任何记录,那么执行……

转载于:https://www.cnblogs.com/houcd/archive/2008/08/05/1260559.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值