14

バッチ ファイルを使用して Windows の特定のポートを開くバッチ ファイル内の方法はありますか? ユーザーが手動で行うのではなく、インストーラーがサーバー アプリケーションに対してこれを行うと便利です。

4

2 に答える 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 に答える