「ipconfig で、Default Gatewayのアドレスを取り、そのアドレスにpingを10回行うっていうバッチを作って」
っていう依頼があり、調べた所、
「あぁ、割と簡単」
と思って作ったのが、これ

ipconfig > ipconfig.txt
setx defG -f ipconfig.txt -a 9,12
ping %defG% -n 10
cmd

あれ? 動かない。
いや、何度か適当に動かしていたら、動いた。
けど、%defG%の値が変わらない!?

なんか、一度に動かしても変数の値が変わらないって事で、バッチを分けたりしたけど、どうもちゃんと動作しない…。

仕方ないので、これまたネットで色々しらべてvbsにて、

Dim FSO
Dim oBat
Set FSO = CreateObject("Scripting.FileSystemObject")

Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("ipconfig.exe")

Do Until objExec.StdOut.AtEndOfStream
strLine = objExec.StdOut.ReadLine ' 1行読み込み
If InStr(strLine, "Default Gateway") <> 0 Then ' "Default Gateway" が含まれているか?
iColon = Instr(strLine, ":") ' ":" の位置を調べる
strDGateway = Mid(strLine, iColon + 2) ' アドレス部分の切り出し
strDGateway = Mid(strDGateway, 1, Len(strDGateway)-1) ' 改行の切り出し
exit do
End If
Loop

Wscript.Echo strAddress ' 出力

Set oBat = FSO.CreateTextFile("defg.bat")
oBat.WriteLine( "ping " & strAddress & " -n 10")
oBat.WriteLine( "cmd")
oBat.Close()
Set oBat = Nothing
Set FSO = Nothing

このvbsを動作して、バッチを作って、バッチを動作してもらう…。
う、うーん…。もし、vbsを動作し忘れると前のDefault Gatewayにpingしてしまうが…。
とりあえずはこれで良しとするか……。