windows - 从任务列表传递 PID 并使用任务列表终止进程

标签 windows batch-file tasklist taskkill

我正在尝试让 Windows 进程符合某些特定条件,例如他们就像“123456.exe”,并试图用任务列表杀死他们。我正在尝试这样做:

FOR /F "usebackq tokens=2 skip=2" %i IN (`tasklist |findstr /r "[0-9].exe") DO taskkill /PID %i

这是不对的,我不知道为什么......任何人都可以给我一个提示吗? 提前致谢!

最佳答案

FOR /F "usebackq tokens=2" %i IN (`tasklist ^| findstr /r /b "[0-9][0-9]*[.]exe"`) DO taskkill /pid %i

几个变化:

  • command_to_process 需要在命令的两边加上反引号 (``)。
  • command_to_process 内部的管道(“|”)需要使用脱字符号(“^”)进行转义。
  • 您的 findstr 命令将匹配所有在“.exe”之前有数字的进程。例如,“myapp4.exe”也会被杀死。我提供的版本将匹配仅包含数字的进程名称。
  • “skip=2”选项将跳过 findstr 的前两行输出,而不是 tasklist。由于正则表达式不会匹配任务列表输出的前两行中的任何内容,因此您可以安全地删除跳过选项。

顺便说一句,如果您将此命令放在批处理脚本中,请记住使用“%%i”而不是“%i”作为您的参数,否则您将收到一条错误消息,如 i was unexpected此时。

关于windows - 从任务列表传递 PID 并使用任务列表终止进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9712399/

相关文章:

windows - 使用 VBA 从具有 SAML 身份验证的网站下载文件

python - 如何通过双击文件在空闲编辑器中打开 python 文件 (windows 10)

python - 任务列表输出

windows - Netsh 设置规则取决于操作系统语言

javascript - Windows 8 (JavaScript) : Multiple <video> tags with same webcam source: Possible?

windows - 循环的批处理脚本不起作用

windows - `forfiles`在什么时候枚举了一个目录(树)?

javascript - 这个 Windows 批处理文件如何运行嵌入式 javascript?

powershell - 如何通过其服务名称和脚本来获取进程ID到变量