设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 401|回复: 5
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-16 16:54:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
计算当前文件夹中,有多少行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
%>
2#
发表于 2009-11-7 19:05:07 | 只看该作者
让人纷纷唱道今年过节不收礼,收礼只收白菜花的好贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 06:32 , Processed in 0.103171 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表