2014-11-26 3 views
3

Я запускаю пару команд wmic в файле btach, чтобы найти процесс и убить его.Как запустить команду wmic в пакетном файле

WMIC Путь Win32_Process Где "CommandLine LIKE '% app1%" Вызов Прекратить

WMIC Путь Win32_Process Где "CommandLine LIKE'% app2%" Вызов Прекратить

Эти команды прекрасно работать, когда я бегу от консоль по отдельности, но когда я запускаю их, используя пакетный файл, я получаю сообщение об ошибке, как показано ниже:

WMIC Путь Win32_Process Где «CommandLine Как„“» Call Прекратить

Нет Instance (s) Доступно.

Может кто-нибудь указать, в чем проблема с командой, если ее запустить из пакетного файла.

ответ

5

Внутри командного файла процентные знаки должны быть экранированы. Команда, которую вы пытаетесь выполнить, видит %app1% как переменную, прочитанную и замененную (возможно) пустой строкой.

Вы должны использовать

wmic Path win32_process Where "CommandLine Like '%%app1%%'" Call Terminate 

Обратите внимание, что это условие также соответствует текущему wmic экземпляр, как этот термин поиска также включен в своей командной строке. Вы должны добавить дополнительный тест, чтобы гарантировать прекращение только желаемого процесса.

Смежные вопросы