首页 > 编程 > ASP > 正文

统计有多少行JS代码和ASP代码

2024-05-04 11:02:47
字体:
来源:转载
供稿:网友
计算当前文件夹中,有多少行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)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表