= 編集コマンドファイル実行
EXE [!] { * | ^* | filename } [parm-1,...] [.lab1 .lab2]
[ < {@parmfile | [S] wildcard [D[+]] ]
! :各コマンドのエラーを無視して最後の行まで実行する
! はファイル内の各行の先頭にも個別に設定できる。
* :現在表示しているファイルを実行。
^* :分割画面の他方で表示しているファイルを実行。
filename:*\ , ^*\ や :: 表記も可能。
filename:*\ や :: 表記も可能。
コメントは行頭に "#" を置くか行末に ";"を置いた後に
#で続ける。
parm-n :ファイル内の %1--%9 を置きかえるパラメータ。
.lab1/2 :行番号欄に設定したラベルを対で指定して実行行範囲を
限定する.行番号を使用しての範囲指定も可.
例えば "EXE * .from .to", "EXE ^* .120 .150".
"<" の後にリダイレクトパラメータを指定するとそのエントリー数だけ繰り返す。
@parmfile : @の後にパラメータファイル名を指定。
S : Selectの意味ででDirList画面で使用する。
DirList上のパス名無しのファイル名がEXEコマンドの最後のパラメータとなる。
wildcard : "S" 無しの場合、対応するフルパスファイル名がEXEコマンドの最後のパラメータとなる。
D[+] : 省略値はディレクトリー以外が選択されるが、
D : ディレクトリーのみ選択、 D+:全てのファイル名
想定用途は文字列置換をディレクトリー内のファイルに一括適用するなど。
例えば execmdfに以下の3行を記述し
s "%3"
c %1 %2 all
end
DirListを開いた画面で "exe ! execmdf FROM TO <s *.c"と入力すれば
全ての *.c ファイルに Select/Change/End を実行する。
"!"を指定しなければエラーがあればそこで繰り返しを停止する。
このコマンド自身も=0.1画面でコマンド登録すればさらに入力を少なく出来る。
例えば "chd exe ! execmdf %1 %2 <s *.c"を登録すれば
"chd FROM TO"で同じことが実行される。
EXEコマンドファイル作成の折はファイル名がスペースを含む場合を想定して置いてください
EXEコマンドログが ::#exeに出力されます。
-全てのコマンドはオプション(OPT CMDLOG [ON|OFF])で::clにロギングされます。
::cl は EXE コマンド用のファイルを作成するのに利用できます
(GCC,OS/2では一旦"OPT CMDLOG OFF"にしてから開いてください)
-ファイル内でAT,SLEEPコマンドは使えない。
-編集コマンドファイルの例。
swap
reset x
x all
i %1 all
i %2 all
del x all
s %3
undo
undo
undo
undo
undo