统计有多少行JS代码和ASP代码,并有多少字节

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

计算当前文件夹中,有多少行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

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航