[前の記事]« コマンド実行結果をエラーメッセージも含めてログに保存するには
[次の記事][WinMe]ERRORLEVELがうまく取得できない »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「FOR /F」索引へ
▲カテゴリー「TASKKILL,START…サービス/タスクの起動/終了」索引へ

[Win2000]tlistの復帰値が取得できない

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


無事解決しました。
復帰値と標準出力の値とを同じに考えていたようです。
アドバイスありがとうございました。
 
 


カテゴリー「FOR /F」索引へ
カテゴリー「TASKKILL,START…サービス/タスクの起動/終了」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2003年05月22日 23:48に投稿されたエントリーのページです。

ひとつ前の投稿は「コマンド実行結果をエラーメッセージも含めてログに保存するには」です。

次の投稿は「[WinMe]ERRORLEVELがうまく取得できない」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート