現在のフォルダーにある JS コードと ASP コードの行数を計算し、
サンプル コードが存在する
コードのバイト数もカウントします<%
'\\\\\\\\\\\\\\\\\\\
'\
'\ codeproject.com より
'\ js と asp コードを計算する
'\ bluedestinyを変更する
'\ mail:bluedestiny 126.com
'\
'\\\\\\\\\\\\\\\\\\\\
オプションは明示的です
response.buffer=false
クラス COUNT_CODE
プライベート FSO、スパス
プライベート asplines、jslines、aspbytes、jsbytes、aspwords
プライベートサブクラス_初期化
set fso = createobject("scripting.filesystemobject")
エンドサブ
プライベートサブクラス_terminate
fso=何も設定しない
エンドサブ
プライベート関数 iterate(パス)
dim フォルダー、フォルダー、ファイル、ファイル、ts、txt、arr、f
set フォルダー = fso.getfolder(パス)
ファイル = フォルダー.ファイルを設定します
ディムrx、c
set rx = 新しい正規表現
rx.ignorecase = true
rx.global = true
rx.パターン = " +"
ファイル内の各ファイルに対して
right(file.name,4)=".asp" または right(file.name,3)=".js" の場合
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 = スプリット(txt,vbcrlf)
right(file.name,4)=".asp" の場合
asplines = asplines + ubound(arr)
aspbytes = aspbytes + len(txt)
それ以外
jslines = jslines + ubound(arr)
jsbytes = jsbytes + len(txt)
終了する場合
終了する場合
次
フォルダー = フォルダー.サブフォルダーを設定します
フォルダー内の各 f に対して
f.path を反復する
次
end 関数
public property let パス
spath=サーバー.マップパス
終了プロパティ
パブリックサブカウント
反復(スパス)
エンドサブ
パブリックサブプリントフ
response.write "ASP:" & "<br/>"
response.write "コード化された合計行数: " & asplines & "<br/>"
response.write "合計バイト数: " & aspbytes & "" & "<br/>"
response.write "入力された個々の要素 (単語) の合計: " & aspwords & "<br/>"
response.write "JScript:" & "<br/>"
response.write "コード化された合計行数: " & jslines & "<br/>"
response.write "合計バイト数: " & jsbytes
エンドサブ
終了クラス
'\\\\\\\\\\\\\\\\\\\\\\\ \\\\
'\サンプルコード
'\\\\\\\\\\\\\\\\\\\\\ \\ \\\
薄暗いです
o=新しいCOUNT_CODEを設定します
o.path="ブルーデスティニー/"
o.count
o.printf
%>