home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 February
/
VPR9602A.ISO
/
fwindows
/
tmedt090
/
toold101
/
man.lzh
/
XEQ.MAN
< prev
next >
Wrap
Text File
|
1994-11-20
|
3KB
|
86 lines
XEQ(1) Reference Manual XEQ(1)
NAME
xeq - ワイルドカードを展開し、stderrをリダイレクトしてからのコマ
ンド実行
SYNOPSIS
xeq [-e file] [-a] COMMAND [ARGS…]
DESCRIPTION
xeq は、引数のワイルドカードを展開してから、指定したCOMMAND を実
行する。但し、COMMAND に渡す引数が127バイトを超えてはならない。実
行はexeclp関数で行い、もし失敗したらcommand.comでの実行も試す。
DOSではUNIXと異なり、あるコマンドの標準エラー出力(stderr)への出力
を簡単にリダイレクトする方法はない。また、UNIXではワイルドカード
文字は、コマンドに引き渡されるより前に展開されるため、どんなコマ
ンドでもワイルドカードが使えるが、DOSはそうなっていないため、コマ
ンドが自前でワイルドカードを展開しなければならず、そのような仕掛
けを持たないコマンドではワイルドカード文字が使えない。その不便を
少しでも解消するために作られたのがxeqコマンドで、その名前は「exe
cute」を縮めたものから来ている。
xeqコマンドは、まず渡された引数のワイルドカード文字を展開し、std
errをリダイレクト(もしオプション引数で指定されていれば)してから、
指定されたコマンドを実行する。これによって、ワイルドカード展開機
能を持っていないコマンドにもワイルドカード(や間接引数)で引数を渡
したり、コマンドのstderrへの出力をリダイレクトしたりできる。また、
バッチコマンドの入出力のリダイレクトも可能となる(但し出力にはプロ
ンプトや、echo offしない場合のコマンドラインなども混じってしまう)。
コマンド行オプションは次の通り。
-e: stderrを指定したファイルにリダイレクトする。ファイル名が「-」
の場合は、stderrをstdoutにリダイレクトする。
-a: -eオプションがあり、かつそのファイル名が「-」でない場合のみ有
効。リダイレクト先に追加書きを行う。
なお、COMMAND が「exit」であった場合だけは特例として、その次の引
数を終了コードとしてすぐ終了する(EXAMPLESを参照)。
EXAMPLES
xeq -e nul autoland
autolandコマンドを、stderrをnulにリダイレクトして実行。
xeq type *.c
ワイルドカード指定 *.c を展開し、それを引数としてtypeコマンドを実
行。typeという外部コマンドがない限り、command.comの内部コマンドt
ypeが実行される。ただし内部コマンドtypeは引数を複数指定しても2つ
目以降を無視するので、結果的に *.c にマッチする名前を持つ最初のフ
ァイルだけが表示される。なお、*.c の展開結果が127バイトを超えると
「Can't exec type.」と表示される。
another_command | xeq type @-
ここでanother_commandは、何らかのファイル名を出力するコマンドとす
る。xeqはその出力を間接引数として受け取り、それを引数としてtypeコ
マンドを実行する。UNIX風に言えば type `another_command` と同様の
処理をする。なお、1つ上の例と同じような注意が必要である。
xeq exit 7
終了コード7で直ちに終了する。
SEE ALSO
wild(5), setarg(5)
BUGS
ワイルドカードの展開ルーチンは、「" "」などで囲まない限り「/」を
「\」に強制置換してしまう(たとえ引数に「*」「?」などが混じってい
なくても)。従って、引数に「/」を混ぜるとそれが「\」に変えられてか
ら実行される。DOS標準のコマンドを実行するときなどは注意。(「" "」
で囲めばいいのであるが)