window 杀进程bat
配合 cmd /c xxx 启动 效果很好
echo off
SETLOCAL ENABLEDELAYEDEXPANSION
if ""%1""=="""" GOTO MENU
GOTO SETARGS
:SETARGS
set port=%1
GOTO :SETIP
:MENU
@ECHO Please enter the process to stop.
CLS
@ECHO =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
@ECHO 8091.
@ECHO 8088.
@ECHO 8092.
@ECHO 8093.
@ECHO 8094.
@ECHO 8096.
@ECHO 8097.
@ECHO 8095.
@ECHO q.quit
@ECHO =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
SET /p PROJID=Please enter the port to stop.
@IF %PROJID% equ q GOTO :END
rem 输入数字不为A
@IF %PROJID% neq a GOTO :SINGLE
GOTO :MENU
:SINGLE
@echo 单个
set port=%PROJID%
GOTO :SETIP
:STOP
set invalid=0
set indexStr=127.0.0.1:%port%
set indexStrAll=0.0.0.0:%port%
set indexStrIP=%IP%:%port%
echo %indexStrIP%
FOR /F "tokens=1,2,3,4,5 delims= " %%A IN ('netstat -a -n -o ^| findstr "%indexStr% %indexStrAll% %indexStrIP%"') DO (
if /I %%E NEQ %invalid% (
if %%B == %indexStr% ( TaskKill.exe /F /PID %%E )
if %%B == %indexStrAll% ( TaskKill.exe /F /PID %%E )
if %%B == %indexStrIP% ( TaskKill.exe /F /PID %%E )
)
)
GOTO :END
:SETIP
FOR /F "tokens=1-30 delims= " %%A IN ('ipconfig ^| findstr "IPv4"') DO (
set IP=%%P
)
GOTO :STOP
:END
@ECHO finished.
ENDLOCAL