我正在尝试编写一个批处理脚本,如果端口1099已经在使用中则会出错.
不幸的是我必须在DOS批处理脚本中编写它(我无法安装任何东西).
我知道我可以手动打印进程占用端口1099的PID:
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