フィルタ適用スクリプト DoFilter

ver.1.0(2004.08.23)ダウンロード
内容 サイズ(Bytes)
VBSスクリプトファイル 4,070

文字列データをDOSのフィルタコマンドに渡して処理します。
フィルタは、
コマンド < 入力ファイル名 > 出力ファイル名
のように、ファイルをリダイレクトして入出力するものを指定します。
動作にはWindowsScriptingHostが必要です。

外部変形プログラムを作るにあたって、正規表現は避けて通れません
AWKやRubyなんかは、そのまま使えるようになっていますね。
Cでも、BCC55なら正規表現ライブラリがついてきます。
Delphiでは、 JRE32BREGEXP などのDLLを使うのが手っ取り早いかな?

VBScriptにも正規表現を扱う方法が用意されています。
それが RegExpオブジェクトです。(Perl互換らしいです)

Set REObj = new RegExp
REObj.Pattern = "^c[hvsroptkz2]"
Do Until InputFile.AtEndOfStream
    CurrentLine = LTrim(InputFile.ReadLine)
    If REObj.Test(CurrentLine) Then
        rem ここでCurrentLineをいろいろ加工する
    End If
    WScript.Echo CurrentLine
Loop

"^c[hvsroptkz2]"という正規表現は、文字列データを表わしています。
つまり、上記のコードは文字列データを加工して出力するという動作になります。

もうひとつ、今回のスクリプトでは環境変数の読み出しを行っています。

Set ShellObj = CreateObject("WScript.Shell")
Set Environ = shellobj.Environment
CommandProcessor = Environ.Item("COMSPEC")

CommandProcessorに、コマンドプロセッサ(commandまたはcmd)が入るわけです。

Jw_cad外部変形プログラム目次へ

Tails of CAD! トップページへ