2010-09-13 24 views
0

所以我使用Vista自帶的taskkill.exe,我希望它做一些特別複雜的事情。Taskkill一個無標題的過程?

有多個java.exe運行的實例,我希望它找到一個無..所以這是我的命令:

taskkill /IM java.exe /FI "WINDOWTITLE eq " 

我也試過:

taskkill /IM java.exe /FI "WINDOWTITLE ne AutoClicker" 

它不反正工作......那麼,有沒有反正...目標的過程中無? ?

+0

找到PID,然後通過PID殺死。 – LatinSuD 2010-09-13 08:34:24

+0

@LatinSuD:你有同樣的問題;即試圖過濾一個沒有標題的窗口 - 然後用'tasklist'而不是'taskkill'。 – Joey 2010-09-13 12:26:18

+0

對不起,我完全忘了我不能使用tasklist,因爲我在自動化程序上運行這個命令。它不能分析PID,如果可能的話,它將無法從它必須結束的PID中分辨出它的PID。 – PizzaPie 2010-09-13 17:44:19

回答

1

您必須首先通過解析TASKLIST的結果找到未命名進程的PID,然後用找到的PID調用TASKKILL。

試試下面的代碼

@echo off 
SETLOCAL enabledelayedexpansion 
for /f "tokens=*" %%a in ('TASKLIST /V') do (
    set s=%%a 
    set p=!s:~27,5! 
    set t=!s:~152,3! 
    if '!t!'=='N/A' ECHO TASKKILL /PID !p! /T 
) 

,並經過加時賽仔細的檢查,刪除ECHO