dos/bat脚本 筛选不合格的进程并杀死
这篇博客适合有一定基础的人群来看,如果没有相关基础的话,看代码可能会比较费劲一些。
设计思路比较简单:
1、首先利用tasklist dos命令 筛选出我要杀死的进程,并将查出的内容落地。
2、然后利用for dos命令 取出落地数据相对应的pid。
3、在for循环中将取出遍历得到的进程的pid,并用taskkill dos命令 杀死该进程
上代码:
@echo off
set A=C:\Users\Administrator\Desktop\test
set B=C:\Users\Administrator\Desktop\test\kill.txt
set D=C:
c:
cd %A%
::call 的用法 call 脚本 参数(%0本身,%1第一个参数,%2第二个参数)
::pause 相当于debugger
call fileCreate_test.bat %A% %B% %D%
echo %B%
::pause 相当于debugger
for /f "tokens=2 delims= " %%C in (%B%) do (
echo %%C
taskkill /F /PID %%C
)
::删除文件
del %B%
exit
@echo off
cd %3
::创建文件夹
md %1
::创建文件
cd %2
::pause
::抓取pid
tasklist /v /FI "IMAGENAME eq cmd.exe" /FI "STATUS eq running" | findstr /i "kettle" >> %2
::pause
有几个关键的命令简单的说明一下,方便理解:
1、:: ------------------------------代表着注释
2、echo 数据-------------------回显数据
3、set 变量名=变量内容-----设置变量
(注意: =两边不能有空格)
4、pause命令---------------------在开发过程中,你可以把它当成一个debugger来对待
5、call 脚本-------------------------call命令用来从一个批处理调用另一个批处理
(注意:call 命令 后面的参数,在另一个批处理中%0代表本身,%1代表第一个参数,以此类推...)
6、md 路径 ------------------------创建文件夹
7、cd 路径/文件名----------------可以用这个命令来创建文件
8、del 路径/文件名----------------删除文件
9、for 命令--------------------------遍历