LOADING

使用Bat杀掉端口进程

原创文章4年前 (2020)发布 fdadmin
6,665 0 0

[callout class=”danger” title=”前言”]
由于在WIndows 下查杀端口进程比较麻烦,因此有了该脚本,该脚本来源于网络修改。
[/callout]

使用Bat杀掉端口进程

脚本内容如下:

[ttr2v]

@echo off & setlocal EnableDelayedExpansion


rem 强制管理员打开
rem %1 %2
rem ver|find "5.">nul&&goto :Admin
rem mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
rem :Admin

::设置窗口大小
@mode con lines=25 cols=80
set rr="HKCUConsole%%SystemRoot%%_system32_cmd.exe"
reg delete %rr% /f>nul
reg add %rr% /v "WindowPosition" /t REG_DWORD /d 0x00880111 /f>nul


TITLE=杀掉指定进程【现在是北京时间:%date% %time% &ping /n 2 localhost>nul】
ECHO ********************************************************************************
ECHO ********************************************************************************
ECHO   				[%username% 欢迎您!]				
ECHO 		%OS%  环境下 杀掉指定进程				
ECHO                                     版本号V1.0%CMDEXTVERSION%" 
ECHO ********************************************************************************
ECHO ********************************************************************************


rem 设置背景颜色
color    0a     


rem  列出所有端口占用情况
rem netstat -ano

rem 这里表示 通过goto 方式 回到这里
:go

rem 设置输入方式的变量
set /p obj[0]=请输入端口:

set port=0
set pid=0

for /f "usebackq delims== tokens=1-2" %%a in (`set obj`) do (
    set port=%%b
    for /f "tokens=5" %%m in ('netstat -aon ^| findstr ":%%b"') do (
        set pid=%%m
    )
    if "!pid!"=="0" (
        echo 端口号【!port!】没有被占用,请重新输入
		rem 可能输入的端口错误,返回重新输入
		goto go
    ) else (
        echo 端口号【!port!】相关进程已杀死,继续kill 请输入端口,结束请关闭。
		rem [taskkill /f 指定强制终止的过程]
        taskkill /f /pid !pid!
		
		rem [taskkill /t 指定那个终止与父进程一起的所有子进程,常被认为是“树终止”] 
		rem taskkill /f /pid !pid!
		
		rem 执行结束后 返回重新输入
		goto go
    )
    set pid=0
)

[/ttr2v]

© 版权声明

相关文章

暂无评论

暂无评论...