Como usar o wmic para matar uma instância do cmd.exe pesquisando por sua linha de comando?

2

Eu vi que é possível usar wmic para encontrar a id de um processo procurando o command line que foi usado para iniciá-lo.

Mas tenho 2 problemas.

  • Eu preciso usar isso em um arquivo de lote, então não posso ler a saída do wmic e chamar o taskkill devo usar algum tipo de grep
  • Não consegui encontrar como procurar uma correspondência parcial. Eu prefiro procurar por um pedaço da linha de comando.

O que eu consegui encontrar é este exemplo:

wmic process where "CommandLine=start.bat", pid

Mas o que eu gostaria de fazer é mais parecido com:

wmic process where "CommandLine like %start.bat%", pid | taskkill 

Isso é o que quero dizer com linha de comando: "cmd.exe" / c C: \ Mysql \ start.bat "

Existe uma maneira de matar um processo de busca de linha de comando que começou isso?

    
por Revious 19.11.2015 / 13:05

1 resposta

5

How to use wmic to kill a cmd.exe instance searching by it's command line?

Parece que você pode fazer isso de forma nativa a partir do lote do Windows com o formato abaixo. Basta inserir o nome do arquivo de lote (que é a string encontrada na opção WMIC COMMANDLINE ) na parte %start.bat% como fiz abaixo - usei start.bat no meu exemplo abaixo, exatamente como você usou no exemplo.

WMIC KILL EXEMPLO DE PROCESSO DE ARQUIVO DE LOTE ESPECÍFICO

WMIC PROCESS WHERE "COMMANDLINE LIKE '%start.bat%'" CALL TERMINATE

LeituraadicionaleURLdorecurso: link

    
por 25.11.2015 / 01:11