統計有多少行JS代碼和ASP代碼,並有多少位元組

來源:互聯網
上載者:User
js|統計    計算當前檔案夾中,有多少行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
  %>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.