home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 December
/
VPR9712A.ISO
/
OLS
/
WIN32
/
NIFPX162
/
NIFPX162.LZH
/
SAMPLE.SCP
< prev
Wrap
Text File
|
1996-06-09
|
15KB
|
282 lines
;1.30 スクリプト仕様の版数です。必ず必要ですので,削除しないでください。
; このファイルは,NIFP for Windows (NIFP/Win) プログラム専用のログ解析スクリプトのサンプル
;です。スクリプト仕様は,以下のとおりです。NIFP/Win V1.40以降でお使いください。
;
; ログスクリプトファイルはテキスト形式で記述します。基本形は10タイプの行
;から構成されます。
; ・「H」行:スクリプトのタイトル名を指定します。
; ・「N」行:特定したいログファイルをワイルドカードで指定します。
; ・「F」行:環境ファイルをフルパス名で指定します。
; ・「D」行:各ディレクトリをフルパス名で指定します。
; ・「X」行:各ファイルのサフィックスを指定します。
; ・「T」行:タイトル区分する分類コードやタイプの指定。各ブロックの先頭行となります。
; ・「C」行:タイトル区分する時に比較するための制御行。次の「S」と対です。
; ・「S」行:NIFP/WINが扱うタイトル情報の作成指示行。「C」と対となり,一つの「T」
; に幾つでも記述できます。
; ・「P」行:タイトル区分比較の対象外にしたい文字列を指定します。
; ・「A」行:「S」行内で引用する判定文字列と変換したい文字列を指定します。
; ・これ以外の行はコメント行とみなします。
;
; 「H」行の仕様は,先頭が「H:」で,スクリプトを表わすタイトル文字列を40桁以
;内で指定します。1行だけしか指定できません。NIFP/Win ウィンドウのタイトルバ
;ーに,ここで指定した文字列が表示されます。通信ネット名などを指定するといいで
;しょう。指定がない場合には,タイトルバーには(NIFTY-Serve)と表示されます。
;
; 例:H:日経MIXネット
;
; 「N」行の仕様は,先頭が「N:」で,このスクリプトだけが扱えるログファイルを
;ワイルドカード(*や?)を使ってファイル名を複数指定できます。複数の指定では,
;ファイル名を「,」で区切ってください。この指定があると,ドラッグ&ドロップで
;NIFP/Win 起動した時に,ここで指定したファイル名と一致するファイルだと,この
;スクリプトを使用するNIFP/Win に切り替わります。スクリプト毎にファイル名に特
;徴がある時には,この指定があると,専用のNIFP/Win が自動で起動できるようにな
;ります。1行だけしか指定できません。
;
; 例:N:MIX*.LOG,DAT????.M??
;
; 「F」行の仕様は,先頭が「F:」で,スクリプトに合った環境ファイル名をフルパスで指
;定します。1行だけしか指定できません。指定がない場合には,オプションメニュ
;ーの環境ファイルの登録で設定した環境ファイルが使われます。
;
; 例:F:\nifpwin.cfg
;
; 「D」行の仕様は,先頭が「D:」で,NIFP/Win で参照・利用する各ディレクトリ
;名を「L=」,「D=」,「F=」,「S=」,「T=」,「B=」,「M=」,「O=」を付けてフルパス
;(最後に\を付ける)で指定します。各々は「,」で区切って指定します。1行だけし
;か指定できません。指定がない場合には,オプションメニューの環境の設定で設定
;されたディレクトリが使われます。
;
; ・「L=」:読み込みするログファイル用
; ・「D=」:一括整理するログファイル用
; ・「F=」:複写・切り出しする出力先ファイル用
; ・「S=」:発言する出力先ファイル用
; ・「T=」:タイトル出力する出力先ファイル用
; ・「B=」:終了時のバックアップの出力先ファイル用
; ・「M=」:未読記憶の出力先ファイル用
; ・「O=」:ログ整理の出力先ファイル用
;
; 例:D:L=\NIF\,S=\MAIL\
;
; 「X」行の仕様は,先頭が「X:」で,NIFP/Win で参照・利用する各ファイルのワ
;イルドカードを「L=」,「D=」を付けて50文字までで指定します。ワイルドカード
;を複数指定する場合には,「;」で区切ってください。サフィックスを「F=」,「S=」
;,「T=」,「B=」,「M=」を付けて英字3文字までで指定します。各々は「,」で区切
;って指定します。1行だけしか指定できません。指定がない場合には,オプション
;メニューの環境の設定で設定されたサフィックスが使われます。
;
; ・「L=」:読み込みするログファイル用
; ・「D=」:一括整理するログファイル用
; ・「F=」:複写・切り出しする出力先ファイル用
; ・「S=」:発言する出力先ファイル用
; ・「T=」:タイトル出力する出力先ファイル用
; ・「B=」:終了時のバックアップの出力先ファイル用
; ・「M=」:未読記憶の出力先ファイル用
;
; 例:X:L=*.LOG,S=TXT
;
; 「T」行は,タイトルとして切り出す時の分類やタイプを定義する行で,その後に
;必ず「C」行と「S」行のペアが必要です。同じタイトルに判定する「C」行と「S」行
;のペアは続けて指定出来ます。
;
; 先頭が「T:」で,タイトル情報を「分類コード」,「タイプ」,「親タイトル分類コード」の順
;番に10進数で指定します。各々は「,」で区切って指定します。切り出ししたいタイ
;トルの数だけ指定します。
;
; ・「分類コード」 :タイトルを区別するためのタイトル分類コードを数字3桁以内
; で指定します。一般タイトルは80~120,親タイトルは200~
; 240,削除タイトルは127とし,他はNIFP/WIN のリザーブで
; す。範囲以外の値を指定した場合には,動作を保証できませ
; ん。
; 削除タイトルとは,タイトルとして切り出したくない部分を
; 削除タイトルとして切り出すことで,タイトル表示しません。
; ログ整理や修正出力時も対象外となり,ログファイルからそ
; の部分が削除できます。削除タイトルの時は親タイトル分類コード
; は指定しないでください。
; ・「タイプ」 :分類したタイトルの,コメントツリー時の動作タイプを数
; 字0~13で指定します。
; ・ 0:一般タイプでタイトル表示されなくなります。
; ・ 1:タイトルの並び変えがされずにそのまま表示されます。
; ・ 2:発言番号順に並び変えられてそのまま表示されます。
; ・ 3:コメント順に並び変えられてツリー表示されます。
; ・上記の数字に10を加えると,直前のタイトルと同じタイトル分類
; コード時は,タイトル作成しないようになります。
; ・「親タイトル分類コード」:このタイトルの親となるタイトルの分類コードを数字3桁以
; 内で指定します。親子関係が無い場合は省略できます。
;
; 例:T:80,3,200 ; 分類80のコメントツリー有り一般タイトルで,親タイトルは分類200
;
; 「C」行は,ログファイルを一行読み込む毎に,この「C」行のタイトル判定文字
;列と一致するか比較し,1ヶ所でも一致しない場合には次の判定文字列に移ります。
;いずれの判定文字列にも一致しなかった場合はタイトル行でないと判定し,次の行
;を読み込んで最後の行まで繰り返されます。タイトル判定文字列に次行に移る指定
;があった場合には,ログファイルの次行を読み込んで比較しますが,一致せずに次
;の判定文字列に行く時に元の行に戻されます。
; 「C」行の指定順番に文字列比較していくますので,指定順番を考えておかないと
;既に別なタイトルとして判定されてしまう場合が発生します。
;
; 先頭が「C:」で,一致比較したい文字列を,{ か\ で始まる制御コードか,それ以
;外の単純に等しいかを判定する文字の組み合わせで指定します。最大256文字までで,
;比較対象となる行を最大256文字までです。但し,スクリプト追加の処理では,最大
;80文字までとなります。ログの文字列と一致しなかったら,次の判定文字列に制御
;を移します。
;
; ・{ :比較と抽出を兼ねた指定で,{ と} で以下の制御文字を括ります。一般の
; 文字は指定出来ません。一致した場合には,「S」行で一致した文字列を利
; 用出来ます。
; ・% :半角数字であるかを判定
; ・# :ゼロサプレス(先頭に0を付けない)の半角数字であるかを判定
; ・$ :半角アルファベットであるかを判定
; ・& :半角数字と半角* と半角アルファベットと半角.と半角_であるかを判定
; ・* :どんな文字でもよい(文字数可変)。} の次の文字と一致する文字が
; 見つかるまで。
; ・? :どんな文字でもよい(文字数一致)。
; ・| :{ } 内で複数の判定を行いたい時,この記号でそれぞれの判定文字
; 列を区切ります。
; 判定文字列の何れかと一致するかを判定制御文字の混在は出来ません。同
; じ制御文字を並べるとその個数分の固定長となります。1個の制御文字の
; 直後に数字2桁までで指定すると1~指定桁数までの可変長とみなします。
; { } の指定順に1番から番号付けされ,「S」行の「$x」で一致した文字
; 列を利用出来ます。最大20個までです。
;
; ・\ :特別な制御文字の指定で,後に続く以下の文字により意味が異なります。
; ・s :スペ-スコード(漢字の空白も含む)とタブコード(\t)を判定せずに読み飛ば
; します
; ・b :一文字分戻します
; ・l :次の行に移ります
; ・n :改行コードであるかを判定し,次の行に移ります
; ・\ :\ コードであるかを判定
; ・{ :{ コードであるかを判定
; ・| :| コードであるかを判定
; ・| :複数の判定を行いたい時,この記号でそれぞれの判定文字列を区切ります。
; 判定文字列の何れかと一致するかを判定します。
; ・その他の文字:単純にその文字と等しいかを判定します。
;
; 例:C:{##} {?}{?17} {&&&&&&&&} {%%}/{%%} {%%}:{%%}\n 題名:{*40}
;
; 「S」行は,「C」行の判定文字列と一致したログの行からタイトル情報を作成す
;るために,タイトル文字列や各種タイトル情報の作成を指定します。
;
; 先頭が「S:」で,タイトル情報の作成を「X=」,「T=」,「F=」,「I=」,「C=」,
;「N=」,「a~z=」で始まる制御コードで指定します。それぞれは「,」で区切って指
;定します。
;
; ・「X=」:「C」行で{ }の指定順番を置き換えます。定義する場合は「S」行の必
; ず先頭とします。指定順番の1~20番の順番に対して,置き換えたい
; 順番の番号を指定します。例えば,X=4321は,4番を1番に,3番を2番
; に,2番を3番に,1番を4番に置き換えます。この置き換えは,発言や
; ログ整理及び,「S」行で有効です。
; 指定順番は「C」行での{ } の指定順番1~9,10~20を1~9,A~Jの英
; 数字に置き換えて指定します。
; ・「T=」:タイトル画面に表示するためのタイトル文字列を,制御文字と文字列
; の組み合わせを{ と} で括って指定します。省略すると,一致した時
; の先頭行そのままをタイトル文字列とする。以下の制御文字で文字列
; を作成出来ます。
; ・$X :「C」行の{ } で括った制御文字と一致した文字列(一致した
; 桁数分)を格納
; ・&X :「C」行の{ } で括った制御文字と一致した文字列(指定桁数
; になるように空白を後ろに追加)を格納
; ・$x :前のタイトル判定を行った「S」行の「a~z=」で外部変数aからz
; に保存した文字列(一致した桁数分)を格納
; ・&x :前のタイトル判定を行った「S」行の「a~z=」で外部変数aからz
; に保存した文字列(指定桁数になるように空白を後ろに追加)
; を格納
; ・~X :「C」行の{ } で括った制御文字と一致した文字列(一致した
; 桁数分)を「A」行の指定で変換した文字列で格納
; ・^X :「C」行の{ } で括った制御文字と一致した文字列(指定桁数
; になるように空白を後ろに追加)を「A」行の指定で変換した
; 文字列で格納
; ・~x :前のタイトル判定を行った「S」行の「a~z=」で外部変数aからz
; に保存した文字列(一致した桁数分)を「A」行の指定で変換し
; た文字列で格納
; ・^x :前のタイトル判定を行った「S」行の「a~z=」で外部変数aからz
; に保存した文字列(指定桁数になるように空白を後ろに追加)
; を「A」行の指定で変換した文字列で格納
; ・\Lxx:$Xや&Xや$xや&xの直前で有効で,格納する文字列をxx(数字2
; 桁固定01~80)の桁数だけ左寄せで格納を指示。文字列が桁数
; に満たなければ後ろに空白を格納。
; ・\Rxx:$Xや&Xや$xや&xの直前で有効で,格納する文字列をxx(数字2
; 桁固定01~80)の桁数だけ右寄せで格納を指示。文字列が桁数
; に満たなければ前に空白を格納。
; ・\Cxx:xx(数字2桁固定01~80)の桁まで空白を格納
; ・\ :後の文字に続く{ } \ | をそのまま文字として格納
; ・その他の文字:そのまま格納
; Xは「C」行での{ } の指定順番1~9,10~20を1~9,A~Jの英数字に置き
; 換えて指定します。
; xは前のタイトル判定で使われた「S」行でのa~z=$Xの外部変数a~zを,
; a~zで指定します。
; ・「F=」:タイトル情報のIDを$Xか$xか~Xか~xで指定します。Xとxは「T=」の説明
; を参照。
; 英数字で最大8桁まで格納できます。省略するとIDなしとみなします。
; ・「I=」:タイトル情報の発言番号を#Xか#xか%Xか%xで指定します。Xとxは「T=」
; の説明を参照。10進数(最大64,534まで)に変換して格納します。省略す
; ると0とみなします。
; ・「C=」:タイトル情報のコメント先発言番号を#Xか#xか%Xか%xで指定します。X
; とxは「T=」の説明を参照。10進数(最大64,534まで)に変換して格納し
; ます。省略するとなしとみなします。「T」行でタイプを3に指定した時に
; 意味を持ちます。
; ・「N=」:タイトル情報のライブラリ番号(または会議室番号)を#Xか#xか%Xか%xで
; 指定します。Xとxは「T=」の説明を参照。10進数(最大32,765まで)に変
; 換して格納します。省略すると0とみなします。
; ・「a~z=」:$Xで指定した「C」行の{ } で括った制御文字と一致した文字列を,
; aからzの26個の外部変数(読み込み処理中は書き換えない限り内容保
; 持する,最大80桁まで)に,保存する。後のタイトル判定の「S」行
; で$xか&xか#xか~xか^xか%xを使って利用できます。
;
; 例:S:X=4321,T={$1 $8/$9 $A:$B $4 $5},F=$4,I=#1,N=#6,C=$C
;
; 「P」行の仕様は,先頭が「P:」で,タイトル区分比較の対象外にしたい文字列を
;128文字以内で指定します。1行だけしか指定できません。指定があると,NIFP/Win
;はタイトル区分比較を行う前に読み込んだ1行の先頭からこの指定された文字列と一
;致するか比較し,一致したら次の行を読み込みにいき,タイトル区分比較をパスしま
;す。例えば,先頭文字が「 」(空白)で始まる文字列はタイトル区分行にはない場合
;,「p: 」と指定しておくと読み込み処理が速くなります。先頭文字が空白の行は一般
;に全体の30%程度も含まれているからです。
; また,NIFP/Win では,改行だけの行はタイトル区分比較を行わないようになってい
;ます。これによる高速化は約20%程度です。
;
; 例:P:★★
;
; 「A」行の仕様は,先頭が「A:」で,旧文字列を20文字以内で指定し,「=」に続い
;て新文字列を20文字以内で指定します。「S」行の$X,&Xで引用する文字列を旧文字列と
;して,変換したい文字列を新文字列とします。この行は最大256行まで指定できます。
;この指定を変換利用できるのは,「S」行内と,コピー機能のヘッダ・フッタ・コマンド指定,
;発言機能のヘッダ・フッタ・メッセージ文字列,ログ整理機能のファイル名指定,利用者コマ
;ンド起動機能の引き数です。
;
; 例:A:何かの会議=FETC
;
H:NIFTY-Serve通信ログサンプル
;N:nif*.*
;F:nifpwin.cfg
;D:L=\,S=\
;X:L=*.LOG,S=TXT
;
; 電子メールの親タイトル
T:201,1
C:電子メール(1:受信
S:
; 電子メールの受信
T:81,1,201
C:{##} {?}{?17} {&&&&&&&&} {%%}/{%%} {%%}:{%%}\n 題名:{*40}
S:T={$1 $5/$6 $7:$8 &3 $9},I=#1
; フォーラム会議室の親タイトル
T:200,3
C:- {*8} MES({##}):{*60}\n
S:F=~1,N=#2
; フォーラム会議室の発言
T:80,3,200
C:{%%%%%|%%%%|%%%}/{%%%%%|%%%%|%%%} | | {&&&&&&&&} {?16}\s{*40}\n({##}) {%%}/{%%}/{%%} {%%}:{%%}\sコメント数:{#5|#3}\n
S:T={$1 $8/$9 $A:$B $4 $5},F=$3,I=#1,N=#6
C:{%%%%%|%%%%|%%%}/{%%%%%|%%%%|%%%} | | {&&&&&&&&} {?16}\s{*40}\n({##}) {%%}/{%%}/{%%} {%%}:{%%}\s{%%%%%|%%%}へのコメント コメント数:{#5|#3}\n
S:T={$1 $8/$9 $A:$B $4 $5},F=$3,I=#1,N=#6,C=$C
C:{%%%%%|%%%%|%%%}/{%%%%%|%%%%|%%%} | | {&&&&&&&&} {?16}\s{*40}\n({##}) {%%}/{%%}/{%%} {%%}:{%%}\s{%%%%%|%%%}へのコメント\n
S:T={$1 $8/$9 $A:$B $4 $5},F=$3,I=#1,N=#6,C=$C
C:{%%%%%|%%%%|%%%}/{%%%%%|%%%%|%%%} | | {&&&&&&&&} {?16}\s{*40}\n({##}) {%%}/{%%}/{%%} {%%}:{%%}\n
S:T={$1 $8/$9 $A:$B $4 $5},F=$3,I=#1,N=#6
;
T:82,0,200
C:本文(300 行まで 終了は行頭で/E)\n{*40}
S:T={会議室発言 : $1}
P:
A:FWINF=FWIN