Como fechar uma janela java específica com um bastão?

Como fechar uma janela java específica com um bastão?

Eu tenho um morcego que inicia 3 janelas Java separadas assim:

start java -jar somejar.jar
start java -jar _the_jar_I_want_to_close_.jar
start java -jar someotherjar.jar

Preciso de um comando bat que fecheAPENAS_the_jar_I_want_to_close_.jar. Infelizmente a única coisa que diferencia essas janelas é o PID, mas o PID muda toda vez que são iniciadas.

Aqui está o que eu tentei

  1. Taskkill por PIDtaskkill /PID #### Problema:O PID não é constante.

  2. Matando todos os processos de javataskkill /IM java.exe Problema:Existem outras 2 janelas java que não quero parar

  3. Matando todos os processos pelo nome da imagem:taskkill /IM java Problema:O mesmo que acima, só é necessário eliminar uma janela, não todas as três.

Possibilidades?

  1. É possível nomear as janelas quando eu as inicio, para que eu possa referenciar esse nome mais tarde?

Responder1

Por que não usarstart "title 4 kills"

start "java 1" java -jar somejar.jar
start "java 2" java -jar _the_jar_I_want_to_close_.jar
start "java 3" java -jar someotherjar.jar

taskkill /F /FI "WindowTitle eq "java 2"

Responder2

Isso leva duas etapas:

  1. Encontre o PID (retirado deste tópicohttps://serverfault.com/questions/126502/how-to-get-own-process-pid-from-the-command-prompt-in-windows:

    for /f "tokens=2 USEBACKQ" %f IN (`tasklist /NH /FI "WINDOWTITLE eq _the_jar_I_want_to_close_*"`) Do set ourPID=%f
    
  2. Mate o processo por PID:

    taskkill /F /PID %ourPID%
    

informação relacionada