加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows批处理文件 – 如果窗口标题包含文本,则为taskkill

发布时间:2020-12-13 20:42:51 所属栏目:Windows 来源:网络整理
导读:我想编写一个简单的批处理文件来杀死包含窗口标题中某些文本的进程.现在我有: taskkill /fi "Windowtitle eq XXXX*" /im cmd.exe 这是有效的,除了我想要做的是在标题的开头和结尾都使用通配符.所以类似于: taskkill /fi "Windowtitle eq *X*" /im cmd.exe
我想编写一个简单的批处理文件来杀死包含窗口标题中某些文本的进程.现在我有:
taskkill /fi "Windowtitle eq XXXX*" /im cmd.exe

这是有效的,除了我想要做的是在标题的开头和结尾都使用通配符.所以类似于:

taskkill /fi "Windowtitle eq *X*" /im cmd.exe

但我试过这个并没有用.有什么我想念的或者这不可能吗?

不,过滤器的开头不允许使用通配符.
for /f "tokens=2 delims=," %%a in ('
    tasklist /fi "imagename eq cmd.exe" /v /fo:csv /nh 
    ^| findstr /r /c:".*X[^,]*$"
') do taskkill /pid %%a

这将以csv和verbose格式检索任务列表(其中包括窗口标题作为输出中的最后一个字段).

该列表由findstr过滤,其正则表达式将搜索最后一个字段中指示的文本(X).

如果任何行匹配过滤器,for将对其进行标记,检索将在taskkill中用于结束进程的第二个字段(PID).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读