如何在批处理文件中运行wmic命令

5
我正在运行一些wmic命令来查找并杀死进程。具体命令如下:

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

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

这些命令单独在控制台中运行时没有问题,但是当我使用批处理文件运行它们时,会出现以下错误:

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

No Instance(s) Available.

请问有谁知道如果从批处理文件中运行该命令出了什么问题吗?
1个回答

8

在批处理文件中,百分号需要被转义。你试图执行的命令将 %app1% 视为变量并替换为空字符串。

你需要使用如下方式:

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

请注意,这个条件也会匹配当前的 wmic 实例,因为搜索项也包含在其自己的命令行中。您应该添加额外的测试来确保只终止所需的进程。

谢谢。只需在百分号前加上双倍百分号以转义。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接