251) tlistの復帰値 waruiko 2003/05/22(木) 15:07 |
|
|
|
はじめまして。 次の要件を満たせるバッチを作製したいのですが、条件分岐がうまくできません。 ご助力をお願いします。 要件:プロセスAが起動しているかを判定し、起動していなければ起動する。 ・180の記事を参考に、Windows2000 SP3 Support Toolをセットアップしました。 ・tlist.exe -p (プロセスA) を実行すると、プロセスが起動している場合はPIDを返し、起動していない場合は-1を返すようです。 ・復帰値が-1の場合は、プロセスAの起動コマンドを実行したい。 ・IF ERRORLEVEL...で判断しようとしましたが、ERRORLEVELの値が常に0になってしまい、うまくいきません。 環境はWindows2000 SP3です。 よろしくお願いします。 |
|
253) Re:tlistの復帰値 じゃく 2003/05/22(木) 18:10 |
|
|
|
>要件:プロセスAが起動しているかを判定し、起動していなければ起動する。 >・180の記事を参考に、Windows2000 SP3 Support Toolをセットアップしました。 >・tlist.exe -p (プロセスA) を実行すると、プロセスが起動している場合はPIDを返し、起動していない場合は-1を返すようです。 >・復帰値が-1の場合は、プロセスAの起動コマンドを実行したい。 >・IF ERRORLEVEL...で判断しようとしましたが、ERRORLEVELの値が常に0になってしまい、うまくいきません。 > >環境はWindows2000 SP3です。 プロセスが起動しているとき、起動していないときで tlist.exe は何か表示しないのですか? 何かしら表示されるのならその表示内容で分岐できそうですが。 |
|
255) Re:tlistの復帰値 ふぇむ 2003/05/23(金) 16:04 |
|
|
|
tlist.exe を動かしてみました。 >・tlist.exe -p (プロセスA) を実行すると、プロセスが起動している場合は > PIDを返し、起動していない場合は-1を返すようです。 この「返す」というのは、単に「標準出力に出す」ことを指しているようですね。 とすれば、バッチファイルの中で、 set TARGET=targetname for /f %%z in ('tlist -p %TARGET%') do set RESULT=%%z とか書けば、%RESULT% にその-1とかプロセスIDとか得られるので、それを 利用してあと分岐すればよいのではないでしょうか。 |
|
256) ありがとうございました waruiko 2003/05/24(土) 01:31 |
|
|
|
無事解決しました。 復帰値と標準出力の値とを同じに考えていたようです。 アドバイスありがとうございました。 |