Assim como a maioria das linguagens de programação, um arquivo em lote também possui caracteres de escape. O sinal %
usado na linha de comando é um caractere de escape no arquivo de lote e dá ao comando um significado diferente. Na verdade, ele está procurando por uma variável chamada %java%
.
Para resolver esse problema, use %%
em vez de %
no arquivo em lotes. Para ver mais detalhes e informações sobre outro personagem de escape, veja aqui .
O comando a seguir deve funcionar em um arquivo em lotes.
wmic /output:process.pid process where (Name like '%%java%%' and commandLine like '%%part-of-the-path%%') get ProcessId