当前位置: 首页 > 图文教程 > 网络编程 > ASP > 小工具:统计有多少行JS代码和ASP代码,并有多少字节

ASP
在Vista IIS 7 中用 vs2005 调试 Web 项目的注意事项
ASP保存远程图片到本地 同时取得第一张图片并创建缩略图的代码
ASP运行在IIS6 500错误解决办法
ASP 精华源码收集(五年总结)
ASP分页类(支持多风格变换)
动网论坛验证码改进 加法验证码(ASPJpeg版)
asp 存储过程分页代码
asp select下拉菜单选择图标并实时显示
aspjpeg组件通用加水印函数代码
aspjpeg 添加水印教程及生成缩略图教程
ASP 根据用户权限判断显示的列标题
asp 批量删除选中的多条记录
asp 隐藏并修改文件的最后修改时间
Discuz!NT 论坛整合ASP程序论坛教程
ajax+asp无限级分类树型结构(带数据库)
asp 由动态网页转变为静态网页的实现代码
通过表单的做为二进制文件上传request.totalbytes提取出上传的二级制数据
ASP 使用三层架构 asp中使用类
ASP GetRef 函数指针试探
ASP 三层架构 Error处理类

小工具:统计有多少行JS代码和ASP代码,并有多少字节


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 105 ::
收藏到网摘: n/a

 

计算当前文件夹中,有多少行JS代码和ASP代码,并且还可统计代码有多少字节

有示例代码

<%
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'\\
'\\    来自 codeproject.com
'\\    计算js和asp代码
'\\    修改 bluedestiny
'\\    mail:bluedestiny at 126.com
'\\
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

option explicit
response.buffer=false

class COUNT_CODE
 private fso,spath
 private asplines, jslines, aspbytes, jsbytes, aspwords
 private sub class_initialize
  set fso = createobject("scripting.filesystemobject")
 end sub
 private sub class_terminate
  set fso=nothing
 end sub
 private function iterate(path)
  dim folder, folders, files, file, ts, txt, arr, f
  set folder = fso.getfolder(path)
  set files = folder.files
  dim rx, c
  set rx = new regexp
  rx.ignorecase = true
  rx.global = true
  rx.pattern = "  +"
  for each file in files
   if right(file.name,4)=".asp" or right(file.name,3)=".js" then
    set ts = file.openastextstream
    if ts.atendofstream then txt = "" else txt = ts.readall
    ts.close
    txt = rx.replace(txt," ")
    txt = replace(txt,vbcrlf&vbcrlf,vbcrlf)
    arr = split(replace(txt,vbcrlf," ")," ")
    aspwords = aspwords + ubound(arr)
    arr = split(txt,vbcrlf)
    if right(file.name,4)=".asp" then
     asplines = asplines + ubound(arr)
     aspbytes = aspbytes + len(txt)
    else
     jslines = jslines + ubound(arr)
     jsbytes = jsbytes + len(txt)
    end if
   end if
  next
  set folders = folder.subfolders
  for each f in folders
   iterate f.path
  next
 end function

 public property let path(s)
  spath=server.mappath(s)
 end property
 public sub count
  iterate(spath)
 end sub
 public sub printf
  response.write "ASP:" & "<br/>"
  response.write "Total Lines Coded: " & asplines & "<br/>"
  response.write "Total Bytes: " & aspbytes & "" & "<br/>"
  response.write "Total Individual Elements (words) Typed: " & aspwords & "<br/>"
  response.write "JScript:" & "<br/>"
  response.write "Total Lines Coded: " & jslines & "<br/>"
  response.write "Total Bytes: " & jsbytes
 end sub
end class

'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
'\\示例代码
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

dim o
set o=new COUNT_CODE
o.path="bluedestiny/"
o.count
o.printf
%>