作成日 : 2007/11/20 H.Naito
更新日 : 2007/11/20 H.Naito
実文字数をカウントするスクリプト
'wscc.vbs:実文字数カウントスクリプト(for WSH)
'半角・全角スペース、タブ、改行を除いた文字数をカウント
'Ver1.0 2006/06/03 Kurebi
set args = wscript.arguments
if args.count = 0 then wscript.quit
set fso = createobject("scripting.filesystemobject")
set ts = fso.opentextfile(args(0))
b = 0
c = 0
do while not ts.atendofstream
c1 = ts.read(1)
select case c1
case " "," ",vbtab,vbcr,vblf
' 何もしない( 全半角スペース、タブ、改行の場合 )
case else
if asc(c1) >= 0 and asc(c1) <= &hff then
' 1バイト文字の場合
b = b + 1
else
' 2バイト文字の場合
b = b + 2
end if
c = c + 1 ' 文字数をカウントアップ
end select
loop
ts.close
' ファイルオブジェクトの解放
set ts = nothing
set fso = nothing
' -------------------------------------------------------------------------------------------------
' ★ Popup メソッドの仕様
' intButton = object.Popup( strText, [nSecondsToWait], [strTitle], [nType]
' - object : WshShell オブジェクト
' - strText : ウィンドウに表示するテキスト
' - nSecondsToWait : ウィンドウを閉じるまでの待機する秒数。省略可。
' - strTitle : ウィンドウタイトルに表示する文字列。省略可。
' - nType : ボタンとアイコンの種類を示す数値。省略可。
' - intButton : クリックしたボタンの番号を示す整数値。 Popup メソッドの戻り値。
' -------------------------------------------------------------------------------------------------
set ws = wscript.createobject("wscript.shell")
ws.popup b & "バイト (" & c & "文字)",0,"実文字数カウント",64 ' ここでは、戻り値には興味がないので無視する
set ws = nothing
- 説明
- Windows Script Host上で動作する汎用の実文字数カウント用スクリプト
- 外部コマンドの起動をサポートしたエディタ等から呼び出して使用することを想定
- TeraPadの場合、ツールに実行ファイル"c:\wscc.vbs"、コマンドラインパラメータ"%f"として登録
- 表示されるバイト数は実文字の総バイト数(半角1バイト、全角2バイト)で、文字数は半角・全角を問わない全文字数です。(注:Unicode、EUC等シフトJIS以外のファイルでは正しく表示されません)
- 動作確認はWindows XP Home Edition(WSH5.6)で行いました。
最終更新:2007年11月20日 05:26