bat杀死bat进程

因为bat在任务管理器中的名字比较特殊,并不是直接程序名,所以taskkill的时候会比较麻烦,需要在bat进程的路径下创建一个杀死该bat的bat(- -有点绕)
run.bat

@echo off
setlocal enabledelayedexpansion

set base_dir="%~dp0"
set title_name=%base_dir%
set title_name_replace=%title_name:\=/% 
rem 设置标题名字
title %title_name_replace%

echo "runningggggg"
pause

kill.bat

@echo off
rem 获取本bat的路径(由于本bat和要被杀死的bat在同一路径下,所以获取本bat所在路径)
set base_dir="%~dp0"
echo kill %base_dir%

set title_name=%base_dir%
set title_name_replace=%title_name:\=/% 

for /f "tokens=2 delims=," %%a in ('tasklist /v /fo csv ^| findstr /li %title_name_replace%') do (taskkill /pid %%~a 
	echo kill %%~a success
)
pause

*tokens=2——取第二列
tokens=有时表示提取全部。
tokens=m表示提取第m列。
tokens=m,n表示提取第m列和第n列。
tokens=m-n表示提取第m列至第n列。
Tokens=*表示删除每行前面的空格。忽略行首的所有空格。
tokens=m*提取第m列以后的所有字符,星号表示剩余的字符。
tokens=m,*提取第m列以后的所有字符,星号表示剩余的字符。
输出变量的个数由定义了的tokens决定。

例: Do you known i love you? for /f "tokens=5 delims= " %%a in (1.txt)
do ( echo %%a )
将输出love

delims=,——分隔符为逗号*

tasklist——进程列表
先用tasklist 输入进程列表给find ,让find找出qq.exe进程,如果找到,那执行下面的结束操作,找不到就退出bat
tasklist|find /i “qq.exe” ||exit
taskkill /im qq.exe /f

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sh13661847134

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值