1つのバッチファイルからUDP送信する方法

1つのバッチファイルからUDP送信を行う方法について記載します。
バッチファイルの内部処理でPowerShellスクリプトを使用します。PowerShellがデフォルトで対応していないWindows 7以前のOSの場合はご注意ください。

また、コマンドプロンプトやバッチファイルからPowerShellスクリプトを実行する方法の詳細についてはこちらから

バッチファイル ソースコード

:=================================
: ★ UDP送信バッチ
:=================================

:---------------------------
: ● 設定項目
:---------------------------
: 送信先IPアドレス
set IP=127.0.0.1

: 送信先ポート番号
set PORT=50000

: 送信メッセージ(CR=`r, LF=`n)
set MSG=send message!`r`n


:---------------------------
: ● 処理
:---------------------------
powershell "$Address = [system.net.IPAddress]::Parse(\"%IP%\");$End = New-Object System.Net.IPEndPoint $address, %PORT%;$Saddrf = [System.Net.Sockets.AddressFamily]::InterNetwork;$Stype = [System.Net.Sockets.SocketType]::Dgram;$Ptype = [System.Net.Sockets.ProtocolType]::UDP;$Sock = New-Object System.Net.Sockets.Socket $saddrf, $stype, $ptype;$Sock.TTL = 26;$sock.Connect($end);$Enc = [System.Text.Encoding]::ASCII;$Message = \"%MSG%\";$Buffer = $Enc.GetBytes($Message);$Sent = $Sock.Send($Buffer);"

設定項目について

「設定項目」の下に記載されている、3つの設定項目「IPアドレス」「ポート」「送信メッセージ」を入力してください。
15行目の変数「MSG」は送信するメッセージを設定します。後ろについている「`r`n」はそれぞれCR(キャリッジリターン)・LF(ラインフィード)を表しています。
改行コードなどが不要な場合、「`r`n」を削除してください。

コメント

タイトルとURLをコピーしました