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」を削除してください。
コメント