Пакетный файл, пытающийся завершить процесс с помощью WMIC, и он работает в приглашении CMD, но не в пакетном файле - PullRequest
0 голосов
/ 28 апреля 2018

Таким образом, проблема, с которой я сталкиваюсь, заключается в том, что после получения привилегий администратора с помощью приглашения UAC или даже просто с командным файлом, запущенным от имени администратора, следующие команды будут работать нормально в командной строке «запуск от имени администратора», но не в командном файле. Упомянутые команды являются следующими.

WMIC PROCESS WHERE name="Agent.exe" CALL Terminate
WMIC PROCESS WHERE "name like '%Battle.net%'" CALL Terminate

После этих двух команд, которые работают в командной строке, но не в командном файле, я также удаляю две директории, которые не работают, так как рассматриваемое приложение все еще работает. Я просто в недоумении, почему WMIC работает в командной строке с точно таким же контекстом, а не в командном файле. Я могу поделиться всем командным файлом, если это действительно необходимо, но это единственные команды, которые работают не так, как задумано, и сейчас я в полном недоумении.

1 Ответ

0 голосов
/ 29 апреля 2018

Символы % служат подстановочными знаками для WMIC компаратора *1004*, однако в пакетных файлах Windows необходимо удвоить эти символы:

WMIC Process Where "Name Like '%%Battle.net%%'" Call Terminate

Ваши символы подстановки, как написано выше, хотя на самом деле ищут любые Process, чей Name начинается с любого количества символов, за которым следует строка Battle.net, а затем после него идет любое количество символов. Я собираюсь предположить, особенно из-за строкового начального капитала, что вам действительно не нужен начальный шаблон.

WMIC Process Where "Name Like 'Battle.net%%'" Call Terminate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...