是否有一个批处理文件中的任何方式,通过一个批处理文件来打开Windows特定端口? 这将是不错的安装程序为我们的服务器应用程序做到这一点,而不是让用户手动完成。
Answer 1:
使用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
Answer 2:
这是通过@Kevin理查森提供的溶液的扩展。 需要注意的是“Netsh的advfirewall的添加规则”命令将创建一个新的规则具有相同的名称每次运行相同的命令时。 下面的脚本有助于防止它
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%
)
文章来源: How to open ports on Windows firewall through batch file