小工具:计算当前文件夹中,有多少行JS代码和ASP代码,并且还可统计代码有多少字节
小工具:计算当前文件夹中,有多少行JS代码和ASP代码,并且还可统计代码有多少字节
小工具:计算当前文件夹中,有多少行JS代码和ASP代码,并且还可统计代码有多少字节 计算当前文件夹中,有多少行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
%>