我正在尝试让Windows进程符合某些特定条件,例如:它们就像“123456.exe”并试图用tasklist杀死它们。我试图这样做:
FOR /F "usebackq tokens=2 skip=2" %i IN (`tasklist |findstr /r "[0-9].exe") DO taskkill /PID %i
这是不对的,我不知道为什么....谁能给我一个提示? Thanx提前!
答案 0 :(得分:11)
FOR /F "usebackq tokens=2" %i IN (`tasklist ^| findstr /r /b "[0-9][0-9]*[.]exe"`) DO taskkill /pid %i
一些变化:
顺便说一句,如果您将此命令放在批处理脚本中,请记住使用“%% i”而不是“%i”作为参数,否则您将收到类似i was unexpected at this time.
<的错误消息/ p>
答案 1 :(得分:1)
如果进程名称差异不是很复杂,例如如果名称始终相同 你可以直接使用taskkill的/ FI选项
taskkill /FI "IMAGENAME eq your_image_name_here.exe"
==&GT; taskkill documentation
答案 2 :(得分:0)
我在命令行中使用了它: 名称变量可以包含带有“
SET name =“您想要杀死的进程名称” && FOR / F“ tokens = 2,* delims =,”%f IN('任务列表/ fo csv / v ^ | FINDSTR / i / c:!name! ')做@TASKKILL / f / t / pid%f