批处理文件,尝试使用WMIC终止进程,并且它在CMD提示符下工作,但不在批处理文件中

时间:2018-04-28 20:21:41

标签: batch-file

所以我面临的问题是,在使用UAC提示获取管理员权限后,或者甚至只是让批处理文件以管理员身份运行时,以下命令在&中正常工作#39;以管理员身份运行'命令提示符,但不在批处理文件中。所述命令如下。

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

在命令提示符中但不在批处理文件中的这两个命令之后,我还删除了两个目录,这些目录因相关应用程序仍在运行而失败。我只是不知道为什么WMIC在具有完全相同的上下文的命令提示符中工作,而不是在批处理文件中。如果真的有必要,我可以共享整个批处理文件,但这些是唯一没有按预期工作的命令,而且我现在完全不知所措。

1 个答案:

答案 0 :(得分:2)

% 字符充当WMIC Like比较器的通配符,但在Windows批处理文件中,必须将这些字符加倍:

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

上面写的通配符实际上是在搜索任何Process Name以任意数量的字符开头,后跟字符串Battle.net然后跟随它的任意数量的字符。我会假设,尤其是因为你不需要领先的通配符的字符串主导资本。

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