我试图让 Windows 进程匹配某些特定条件,例如它们就像“123456.exe”并试图用任务列表杀死它们。我正在尝试这样做:
FOR /F "usebackq tokens=2 skip=2" %i IN (`tasklist |findstr /r "[0-9].exe") DO taskkill /PID %i
这是不对的,我不知道为什么....谁能给我一个提示?提前谢谢!
我试图让 Windows 进程匹配某些特定条件,例如它们就像“123456.exe”并试图用任务列表杀死它们。我正在尝试这样做:
FOR /F "usebackq tokens=2 skip=2" %i IN (`tasklist |findstr /r "[0-9].exe") DO taskkill /PID %i
这是不对的,我不知道为什么....谁能给我一个提示?提前谢谢!
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.
如果进程名称差异不是很复杂,例如,如果名称始终相同,则可以直接使用 taskkill 的 /FI 选项
taskkill /FI "IMAGENAME eq your_image_name_here.exe"
==> taskkill 文档
我在命令行中使用了这个:名称变量可以包含带有“
SET name="process name you want to kill" && FOR /F "tokens=2,* delims=," %f IN ('TASKLIST /fo csv /v ^| FINDSTR /i /c:!name!') DO @TASKKILL /f /t /pid %f