如何使用 wmic 终止通过命令行搜索的 cmd.exe 实例?

如何使用 wmic 终止通过命令行搜索的 cmd.exe 实例?

我已经看到,可以使用wmic来查找id进程的 ,以搜索用于command line启动该进程的 。

但我有两个问题。

  • 我需要在批处理文件中使用它,所以我无法读取 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”

有没有办法一个进程正在寻找启动它的命令行?

答案1

如何使用 wmic 终止通过命令行搜索的 cmd.exe 实例?

似乎您可以使用以下格式从 Windows 批处理本机执行此操作。只需WMIC COMMANDLINE在部分中插入批处理文件名(即使用选项找到的字符串),%start.bat%就像我在下面所做的那样——我start.bat在下面的示例中使用的与您在示例中使用的一样。

WMIC(杀死特定批处理文件进程示例)

WMIC PROCESS WHERE "COMMANDLINE LIKE '%start.bat%'" CALL TERMINATE

现在,让我们终止记事本。请注意,PID 现在不同了。我们执行以下命令,这是一种简单的句子式语句,我们在此确定条件和操作以及返回值,以便您可以检查管理工作的合理性和成功性。

process where processid="1000" call terminate

在此处输入图片描述

来源

支持资源

相关内容