标题: [系统相关] 请教批处理, 当某端口被占用时, 启动记事本 [打印本页]
作者: 5i365 时间: 2021-10-29 17:03 标题: 请教批处理, 当某端口被占用时, 启动记事本
当8010端口被占用时, 启动记事本
下面的代码, 有一部分不会写, 请求高手支招, 提前感谢
-------------------------------------------------------------
8010端口没占用时,有两种情况, 一种是显示为空,取不到值,另一种情况是显示类似下面的信息, 最后那列为0, 不包含 LISTENING 单词
C:\Users\Administrator>netstat -aon|findstr "8010"
TCP [::1]:50055 [::1]:8010 TIME_WAIT 0
TCP [::1]:50056 [::1]:8010 TIME_WAIT 0
TCP [::1]:50058 [::1]:8010 TIME_WAIT 0
TCP [::1]:50059 [::1]:8010 TIME_WAIT 0
TCP [::1]:50060 [::1]:8010 TIME_WAIT 0
TCP [::1]:50061 [::1]:8010 TIME_WAIT 0
-----------------------------------------------------------------------------------------
8010端口被占用时,显示下面的信息, 最后那列有非0的值, 包含 LISTENING 单词
C:\Users\Administrator>netstat -aon|findstr "8010"
TCP 0.0.0.0:8010 0.0.0.0:0 LISTENING 7268
TCP [::]:8010 [::]:0 LISTENING 7268
TCP [::1]:8010 [::1]:50156 FIN_WAIT_2 7268
TCP [::1]:8010 [::1]:50157 FIN_WAIT_2 7268
TCP [::1]:8010 [::1]:50159 ESTABLISHED 7268
TCP [::1]:8010 [::1]:50160 ESTABLISHED 7268
TCP [::1]:8010 [::1]:50161 ESTABLISHED 7268
TCP [::1]:8010 [::1]:50162 ESTABLISHED 7268
TCP [::1]:50156 [::1]:8010 CLOSE_WAIT 8932
TCP [::1]:50157 [::1]:8010 CLOSE_WAIT 8932
TCP [::1]:50159 [::1]:8010 ESTABLISHED 8932
TCP [::1]:50160 [::1]:8010 ESTABLISHED 8932
TCP [::1]:50161 [::1]:8010 ESTABLISHED 8932
TCP [::1]:50162 [::1]:8010 ESTABLISHED 8932- @echo off
-
- set status=false
- :checkstatus
- for /f "delims=" %%i in ('netstat -aon^|findstr "8010"') do (
- if "%%i" 包含LISTENING单词 (set status=true)
- )
-
- if "%status%"=="true" (
- start notepad
- ) else (
- ping -n 5 127.0.0.1>nul
- goto :checkstatus
-
- )
复制代码
作者: lancer 时间: 2021-10-29 18:54
用call命令,call命令会在执行完毕调用的命令后返回到程序位置继续执行。
作者: 5i365 时间: 2021-10-29 19:52
回复 2# lancer
不灵, 执行到hexo s时, 就不动了
作者: lancer 时间: 2021-10-30 09:07
回复 3# 5i365
这个命令是干啥的,dos中不带这个命令吧,你单独执行此命令,看结果是什么
作者: 5i365 时间: 2021-10-30 10:16
回复 4# lancer
改了一下问题, 就差一行代码了
作者: idwma 时间: 2021-10-30 14:31
- @echo off
-
- set status=false
- :checkstatus
- for /f "tokens=4 delims= " %%i in ('netstat -aon^|findstr "8010"') do (
- if "%%i"=="LISTENING" (set status=true)
- )
-
- if "%status%"=="true" (
- start notepad
- ) else (
- ping -n 5 127.0.0.1>nul
- goto :checkstatus
-
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |