it-swarm-ja.com

starttitleとtasklist / fi windowtitleは同じタイトルを参照していますか?

startコマンドとtasklistコマンドを調べていたところ、2つのことに気づきました。どちらもウィンドウタイトルへの参照がありました。

start "myTest" /b somefile argA
tasklist /fi "WindowTitle eq myTest"

私を混乱させるのは、タスクリストが私に一致するものを返さないということです。私が間違っていることはありますか、またはこれらは同じものを参照していませんtitle

3
Fallenreaper

彼らは確かに同じタイトルを参照しています。これは、ウィンドウの上部の境界線内に表示されるタイトルです。問題は、START/Bスイッチによってプロセスが同じコンソールウィンドウ内で起動され、ウィンドウに含めることができるタイトルは1つだけであるということです。/Bスイッチが使用されている場合、STARTはウィンドウのタイトルを変更しません。

/ Bスイッチを指定してSTARTコマンドを実行すると、ウィンドウのタイトルが変更されていないことがわかります。

/ BなしでSTARTコマンドを実行すると、正しいタイトルの新しいウィンドウが表示されます。これで、TASKLISTコマンドが正しいプロセスを見つけます。

3
dbenham

この例を試して、Chrome.exeを開始し、起動後にすべてのPIDを強制終了してください。

@echo off
set MyProcess=Chrome.exe
start "" %MyProcess%
setlocal EnableDelayedExpansion
for /f "TOKENS=2" %%a in ('tasklist /NH /FI "imagename eq %MyProcess%"') do (
    Set PID=%%a & echo The PID of %MyProcess% = !PID! 
    Echo( & Echo To Kill all PID of "%MyProcess%" , just Hit any key & pause 
    Taskkill /PID !PID! /F /T
)
EndLocal
pause
1
Hackoo