我想编写一个简单的批处理
文件来杀死包含窗口
标题中某些文本的进程.现在我有:
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).