PowerFX V1.0 運用説明書 - Microsoft(R) Windows(R) - |
目次 索引 |
第3章 TCLplus | > 3.4 TCLplusコマンド |
実行プログラムをサブプログラムとして起動します。
exec 【cmd /c】 cmdname 【args ...】 exec 【cmd /c】 cmdname 【args ...】 &
cmd /c
実行するプログラムがWindows(R)システムのコマンドである場合に指定します。
&
実行プログラムをバッググラウンドで実行します。"&"を指定しない場合、execコマンドは実行プログラムを待ち合わせます。
cmdname
実行プログラムを指定します。
args
実行するプログラムに渡す引数を指定します。
フォルダの区切りには円記号(\)を使用してファイル名全体を中括弧"{}"で囲む必要があります。
なお、本パラメーターには"表3.8 入出力リダイレクト"の記述が使用できます。
記述 |
意味 |
---|---|
例 |
|
| |
2つの実行プログラムの標準出力と標準入力を連結します。同様にして3つ以上のコマンドを連結できます。 |
exec cmd /c dir | cmd /c sort |
|
< filename |
filenameで指定したファイルの内容がcmdnameの標準入力として読み込まれます。(注1) |
exec cmd /c sort < data.txt |
|
<< value |
valueで指定した値(文字列)がcmdnameの標準入力として読み込まれます。(注1) |
exec cmd /c sort << $data |
|
> filename |
cmdnameの標準出力をfilenameで指定したファイルに上書きします。(注1) |
exec cmd /c dir > data.txt |
|
>& filename |
cmdnameの標準出力と標準エラー出力をfilenameで指定したファイルに上書きします。 |
exec cmd /c dir data >& out.txt |
|
2> filename |
cmdnameの標準エラー出力をfilenameで指定したファイルに上書きします。(注2) |
exec cmd /c dir data 2> out.txt |
|
>@ stdout |
cmdnameの標準出力の内容をTCLplusスクリプトの標準出力から出力します。 実行プログラムをフォアグランドで実行している場合に使用します。 |
exec cmd /c dir >@ stdout |
注1) cmdnameの部分が"|"により複数の実行プログラムからなる場合、標準入力は先頭のコマンドが、標準入力は末尾の実行プログラムがその対象となります。
注2) cmdnameの部分が"|"により複数の実行プログラムからなる場合、すべての実行プログラムの標準エラー出力がfilenameで指定したファイルに格納されます。
以下の条件の場合、TCLplusスクリプトは終了します。必要に応じてcatchコマンドでエラーを捕捉してください。
dirコマンドを実行し、コマンドの標準出力/標準エラー出力をすべてスクリプトの標準出力へ出力させます。
if { [catch { set outmsg [exec cmd /c dir {c:\tmp\data}] # dirの標準出力(exec戻り値)をスクリプトの標準出力へ puts stdout $outmsg} ] } { # エラー発生 # outmsgにはerrorInfoの内容を格納します。 set outmsg $errorInfo puts stdout $outmsg } |
入出力 |
フォアグランド実行 |
バッググランド実行 |
標準入力 |
TCLplusスクリプトが実行されているプロセスの標準入力から読み込まれます。 |
|
標準出力 |
通常は、execコマンドの戻り値になります。 |
TCLplusスクリプトが実行されているプロセスの標準出力に出力されます。 |
標準エラー出力 |
TCLplusスクリプトのエラーメッセージとして扱われます。 |
TCLplusスクリプトが実行されているプロセスの標準エラー出力に出力されます。 |
目次 索引 |