PINGを送信するサンプルコードです。
次の例では Windows 10 環境のコマンドプロンプト上で 127.0.0.1 へ PING を送信しています。 127.0.0.1 はローカルアドレスと言い、 TCP/IP の仕様では自分自身の IP アドレスを指します。
ping <送信先IPアドレス>
サンプル:
ping 127.0.0.1
実行例:
c:\>ping 127.0.0.1
127.0.0.1 に ping を送信しています 32 バイトのデータ:
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=128
127.0.0.1 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 0ms、平均 = 0ms
次の例では Powershell の Test-Connection コマンドレットにより 127.0.0.1 .という IP アドレスへ PING を送信しています。
サンプル:
Test-Connection 127.0.0.1
Powershell では Win32_PingStatus クラスを使用して PING を送信することも可能です。次の例では127.0.0.1 へ ping を送信しています。
サンプル:
Get-CimInstance -Class Win32_PingStatus -Filter "Address='127.0.0.1'"
実行例:
Source Destination IPV4Address IPV6Address Bytes Time(ms)
------ ----------- ----------- ----------- ----- --------
127.0.0.1 192.168.11.2 ::1 32 0
サンプル:
rem 引数にPING先のIPアドレス
rem arg1 = WScript.Arguments(0)
rem テストなのでここで値を入れてみる
arg1="127.0.0.1"
Set Locator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer
Set ClassSet = Service.ExecQuery("Select * From Win32_PingStatus Where Address = '"+arg1+"'")
For Each results In ClassSet
Select Case results.StatusCode
Case 0
wscript.echo "成功"
Case 11010
wscript.echo "タイムアウト"
Case Else
wscript.echo "不明なエラー"
End Select
next
Set ClassSet = Nothing
Set results = Nothing
Set Service = Nothing
Set Locator = Nothing
実行例:
成功