Как использовать wmic для уничтожения поиска экземпляра cmd.exe по его командной строке?

2

Я видел, что можно использовать, wmicчтобы найти idпроцесс поиска, command lineкоторый был использован для его запуска.

Но у меня есть 2 проблемы.

  • Мне нужно использовать это в пакетном файле, поэтому я не могу прочитать вывод wmic и вызвать taskkill, я должен использовать какой-то grep
  • Я не мог найти, как искать частичное совпадение. Я предпочитаю искать кусок командной строки.

То, что я мог найти, это пример:

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

Но то, что я хотел бы сделать, больше похоже на:

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

Это то, что я имею в виду под командной строкой: "cmd.exe" / c C: \ Mysql \ start.bat "

Есть ли способ убить процесс, ищущий командную строку, которая его запустила?

Revious
источник
если не ясно, пожалуйста, дайте мне предложение, чтобы я мог улучшить вопрос.
Реви
1
Моей первой мыслью будет поиск идентификатора по командной строке и уничтожение по идентификатору, но я не уверен, что точно понимаю, что вы имеете в виду, используя wmic, чтобы найти идентификатор процесса, выполняющего поиск командной строки, которая был использован для его запуска ", поэтому ваш вопрос немного неясен. В дополнение к этому, чтобы улучшить ваш вопрос, чтобы избежать отрицательных голосов, я думаю, что люди чувствуют, что им не хватает исследовательских усилий ... Что вы уже пробовали? (PS Я не отрицал тебя;)).
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007 большое спасибо за помощь, я не знаю точно, как это написать .. Я хочу написать команду в командном файле, чтобы я не мог выполнить wmic, прочитать вывод и вызвать taskkill. Это должно происходить в пакетном режиме. И я не знаю, как использовать фильтры типа * или% при поиске wmic; Я хотел бы что-то похожее на: "wmic process, где" CommandLine like% start% ", pid | kill
this
1
Похоже, вы хотите xargs. Есть несколько версий Windows, например с Cygwin.
Даниэль Б
1
@DanielB спасибо! но я не могу решить со стандартными окнами utities?
Реви

Ответы:

6

Как использовать wmic для уничтожения поиска экземпляра cmd.exe по его командной строке?

Кажется, что вы можете сделать это изначально из пакета Windows с приведенным ниже форматом. Просто вставьте имя вашего пакетного файла (это строка, найденная с WMIC COMMANDLINEпараметром) в той %start.bat%части, которую я сделал ниже - я использовал start.batв своем примере ниже, как вы использовали в своем примере.

Пример обработки файла с помощью WMIC KILL

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

введите описание изображения здесь

Дополнительное Чтение и Ресурс URL: http://www.dedoimedo.com/computers/windows-wmic.html

Сок Pimp IT
источник