批处理文件中是否有任何方法可以通过批处理文件打开 Windows 上的特定端口?最好让安装程序为我们的服务器应用程序执行此操作,而不是让用户手动执行此操作。
问问题
41632 次
2 回答
21
使用netsh.exe。一个非常简单的带有端口参数的批处理文件:
@echo off
rem -- open port (first argument passed to batch script)
netsh advfirewall firewall add rule name="Open Port %1" dir=in action=allow protocol=TCP localport=%1 remoteip=10.15.97.0/24,10.17.0.0/16
于 2013-03-02T06:36:22.150 回答
13
这是@Kevin Richardson 提供的解决方案的扩展。请注意,每次运行相同的命令时,“netsh advfirewall add rule”命令都会创建一个具有相同名称的新规则。下面的脚本有助于防止它
ECHO OFF
set PORT=8081
set RULE_NAME="Open Port %PORT%"
netsh advfirewall firewall show rule name=%RULE_NAME% >nul
if not ERRORLEVEL 1 (
rem Rule %RULE_NAME% already exists.
echo Hey, you already got a out rule by that name, you cannot put another one in!
) else (
echo Rule %RULE_NAME% does not exist. Creating...
netsh advfirewall firewall add rule name=%RULE_NAME% dir=in action=allow protocol=TCP localport=%PORT%
)
于 2015-02-11T15:35:04.753 回答