2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« バッチファイルで、dllのアイコンをインデックスで一覧表示する。 | トップページ | バッチファイルでコンソールウィンドウのタイトルを取得する。 »

2009年1月25日 (日)

バッチファイルでプロセスIDを取得する。

tasklist.exeを使って、コンソールウィンドウの所有プロセスのプロセスIDを調べます。

GetPID.CMD

@echo off
for /f "tokens=2 delims=," %%i in ('title @@@^&tasklist /v /fo csv /nh /fi "windowtitle eq @@@"') do echo %%~i

厳密には、コンソールウィンドウの所有プロセスは、そのバッチファイルを実行中のシェルプロセスとは限りません。その親や御先祖かも知れません。

コンソールウィンドウのタイトルを一時的に変えて、そのタイトルのウィンドウの所有プロセスのプロセスIDを調べます。
サブシェルでタイトルを変えた場合は、元のタイトルに戻ります。

« バッチファイルで、dllのアイコンをインデックスで一覧表示する。 | トップページ | バッチファイルでコンソールウィンドウのタイトルを取得する。 »