2010-09-13 4 views
0

Так что я использую taskkill.exe, который поставляется с Vista, и я хочу, чтобы он делал что-то особенно сложное.Taskkill - процесс без названия?

Существует несколько экземпляров java.exe, и я хочу, чтобы он нашел тот, который без названия .. так что это моя команда:

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

Я также попытался:

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

это не работает в любом случае ... так что есть в любом случае ... целевой безымянный процесс ?? ?

+0

Найти PID, а затем убить ПИД-. – LatinSuD

+0

@LatinSuD: У вас такая же проблема; а именно пытаться отфильтровать для окна без заголовка - просто с 'tasklist' вместо' taskkill'. – Joey

+0

Извините, я полностью забыл, что я не могу использовать список задач, потому что я запускаю эту команду в автоматизированной программе. Он не может разобрать PID, и если бы это было возможно, он не смог бы сказать, что это PID из того, с которым он должен закончиться. – PizzaPie

ответ

1

Вы должны сначала найти PID процесса без названия, проанализировав результаты TASKLIST, а затем вызовите TASKKILL с найденным PID.

Попробуйте следующий код

@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 
) 

и после дополнительного тщательного тестирования, удалите ЭХО