我试图写一个批处理脚本错误,如果端口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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top