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


3

私は探していたstarttasklistコマンドを、と私は2つのことに気づきました。両方ともウィンドウタイトルへの参照がありました。

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

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

回答:


3

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

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

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


多分起動し、私が望むコマンドではないでしょうか?コマンドラインを必要とせずに、受動ファイルとしてsomefileを起動しようとしています。私はそれを起動してからスクリプトを続行したいのですが、後でそれを殺すことができるように、プロセスへのポインタ/ PIDがまだありますか?次にstart "myTest" somefile argA &、UNIXのようにコンソールプロセスの依存関係を解消するようなことを行うことができ ます。
-Fallenreaper

起動しているコマンドが実際にcmdシェルである場合にのみ機能するようです。start "testprogram" "notepad"に続いてtasklist /v | findstr -i testprogram何も見つかりません。
DavidPostill

この質問の背景については、pubコマンドとコメントから作成されたウィンドウでPIDを追跡しようとするを参照してください。私たちは午後ずっとそれについて困惑してきました:;
DavidPostill

@DavidPostill-問題を述べるより一般的な方法は次のとおりです-すべてのプログラムでSTARTコマンドを使用してウィンドウタイトルを設定できるわけではありません。多くのプログラムは、STARTが確立しようとする値をオーバーライドします。
dbenham

1

この例を試してみて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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.