首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows TASKKILL语法问题

Windows TASKKILL语法问题
EN

Stack Overflow用户
提问于 2016-12-06 07:59:17
回答 2查看 521关注 0票数 2

这么多年之后,你可能会认为我做了一些Windows批处理文件。但你错了。我正在更新一个批处理文件,并遇到以下声明:

代码语言:javascript
复制
TASKKILL /F /FI "WINDOWTITLE eq SIM RH*" /IM perl.exe

为什么是/FI和/IM?这两个条款连在一起了吗?如果我不使用/IM,正确的进程就会被杀死。

唯一有意义的方法是,如果它们被终止,并且只杀死带有该窗口标题的任务,并且是perl.exe任务。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-06 09:26:38

是的,他们加入了!

/IM将杀死具有不同进程ID的所有任务。

/FI对此应用了一个过滤器。您可以使用这样的方法来测试:

代码语言:javascript
复制
@echo off
for /L %%i in (1,1,5) do start "%%i" cmd.exe
timeout /t 3
taskkill /F /FI "WindowName ne 3" /IM cmd.exe

这将给您留下一个标题为3的命令提示符,所有其他命令都将关闭。

ne更改为eq只会用标题3关闭命令提示符,留下1, 2, 4, 5yourBatch.bat

票数 2
EN

Stack Overflow用户

发布于 2016-12-06 09:37:00

是。给定的/FI "WINDOWTITLE eq SIM RH*"选项将根据窗口标题筛选以SIM RH开头的进程。taskkill指定,如果给出了这样的筛选器,则/IM选项将接受通配符*

没有说的是,添加一个过滤器而忽略了/IM似乎意味着/IM *__。

您可以使用以下命令验证这种行为,该命令将在两个单独的窗口中打开一个常规shell和一个powershell,然后仅通过指定一个窗口标题筛选器就可以关闭两个窗口。

代码语言:javascript
复制
start "testp1" cmd && start "testp2" powershell && taskkill /F /FI "WINDOWTITLE eq testp*" 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40990453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档