Windows批处理脚本打印错误消息,如果使用的端口
-
21-08-2019 - |
题
我试图写一个批处理脚本错误,如果端口1099已在使用。
不幸的是我不得不把它写在DOS批处理脚本(我不能安装任何东西)。
我知道我可以打印进程的PID占用端口1099手动:
netstat -aon | findstr ":1099"
但是,我希望能够在批处理脚本运行该命令,并用一个错误消息退出脚本如果该命令具有任何输出。
我想在一推,我可以将输出重定向到一个临时文件,并测试它的大小,但似乎真的哈克......
解决方案
netstat -an | FINDSTR ":1099" | FINDSTR LISTENING && ECHO Port is in use && EXIT 1
您可以使用&&
在批处理脚本来运行只有在前面的命令是成功的(基于其退出代码/ ERRORLEVEL
)的命令。这样就可以只如果你正在寻找的字符串中的netstat的输出被发现显示消息并退出。
此外,要明确地寻找LISTENING
端口。
FINDSTR
支持正则表达式,以便还可以执行以下操作来缩短命令行:
netstat -an | findstr /RC:":1099 .*LISTENING" && ECHO Port is in use && EXIT 1
不隶属于 StackOverflow