Я видел, что можно использовать, 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 "
Есть ли способ убить процесс, ищущий командную строку, которая его запустила?
windows
command-line
batch
Revious
источник
источник
xargs
. Есть несколько версий Windows, например с Cygwin.Ответы:
Кажется, что вы можете сделать это изначально из пакета Windows с приведенным ниже форматом. Просто вставьте имя вашего пакетного файла (это строка, найденная с
WMIC
COMMANDLINE
параметром) в той%start.bat%
части, которую я сделал ниже - я использовалstart.bat
в своем примере ниже, как вы использовали в своем примере.Пример обработки файла с помощью WMIC KILL
Дополнительное Чтение и Ресурс URL: http://www.dedoimedo.com/computers/windows-wmic.html
источник