我正在尝试在标题中有空格的控制台窗口上运行 taskkill。如何将此窗口标题传递给 taskkill。我尝试了以下方法:
taskkill /fi "WINDOWTITLE eq Administrator: My Window Title"
我正在尝试在标题中有空格的控制台窗口上运行 taskkill。如何将此窗口标题传递给 taskkill。我尝试了以下方法:
taskkill /fi "WINDOWTITLE eq Administrator: My Window Title"
我遇到过类似的问题,但发现更多。
我一直在尝试关闭设置了自己的窗口标题的 CMD 窗口(以管理员身份运行)。因此,以管理员身份运行 CMD 并键入:
title CMD with custom title
经过一番折腾,下面的命令告诉我设置窗口标题会在标题前面放置一个前导空格!(不知道为什么。)
c:\>tasklist /V /FI "WindowTitle eq Administrator*"
Image Name PID Session Name Session# Mem Usage Status User Name CPU Time Window Title
========== ==== ============ ======== ========= ======= =============== ======== =====================================
cmd.exe 4304 Console 1 2,492 K Running MACHINE\My Name 0:00:00 Administrator: CMD with custom title
(scroll ) extra space
所以要杀死进程:
taskkill /F /FI "WindowTitle eq Administrator: CMD with custom title" /T
bingo
/F
- 使用武力。/T
- 杀死子进程。如果您以类似的方式敲打您的头,我建议您tasklist
在流程属性中四处寻找,以确保您的过滤器正确。Windows 8 为您带来的这个问题。
注意:如果标题包含引号,只需转义嵌套的:
title "CMD with custom title"
taskkill /F /FI "WindowTitle eq Administrator: \"CMD with custom title\"" /T
诀窍是命名 cmd 进程,然后通过调用您给定的名称来终止它:以下是启动 6 个并行进程,您可以终止任何一个选择。
start "cmd001" cmd.exe
start "cmd002" cmd.exe
start "cmd003" cmd.exe
start "cmd004" cmd.exe
start "cmd005" cmd.exe
start "cmd 006" cmd.exe
:: 杀死你想要的进程,例如 cmd005
taskkill /F /FI "WINDOWTITLE eq cmd005" /T
:: 杀死名称中有空格的进程,例如 cmd 006
taskkill /F /FI "WINDOWTITLE eq cmd 006" /T
我猜这个任务在你的 windows server 上运行。如果标题中包含“Administrator:”,则不能通过 WindowTitle 等方式杀死任务。
你应该使用这个:这是我的杀手.bat。SEARCH_PARAMETER = 你想杀死什么标题
@echo off
for /f "tokens=2 delims=," %%a in ('
tasklist /fi "imagename eq cmd.exe" /v /fo:csv /nh
^| findstr /r /c:".*SEARCH_PARAMETER[^,]*$" ') do taskkill /pid %%a
taskkill /F /FI "WindowTitle eq Apache 8184"
我正在使用 AutoIt 启动 cmd shell 窗口,关于使用任务列表的提示确实很有帮助。我已经尝试过双空格,但 AutoIt 的 Run() 命令以 tasklist/taskkill 无法看到窗口标题的方式创建了 cmd.exe shell。
如果我使用循环或 AutoIt 的 WinKill()/WinClose() 和 cmd 提示符的窗口标题,那么 AutoIt 本身可以关闭窗口,但我的 cmd 提示符 bat 文件只看到 c:\windows\system32\cmd 作为窗口标题。
在这种情况下,我能够使用 AutoIt 而不是从批处理脚本中杀死窗口。
迟到的答案(4yo),但是当您知道只有一部分进程名称使用旧 WMIC
的. 这是一个名为
的示例find
和一个进程:kill
"Administrator: My Window Title"
WMIC PROCESS WHERE "NAME LIKE '%Administrator: My Window Title%'" CALL TERMINATE