- ベストアンサー
VBScriptで複数台の端末に対して同時にpingを実行し、ブラウザのテキストエリアに表示する方法はある?
- VBScriptを使用して、複数台の端末に対して同時にpingを実行する方法を教えてください。
- PC1からの応答が192.168.1.1: bytes=32 time<1ms TTL=128と表示され、PC2からの応答が192.168.1.2: bytes=32 time<1ms TTL=128と表示されるようにしたいです。
- また、結果はコマンドプロンプトではなく、ブラウザのテキストエリア内にリアルタイムに表示させたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
だいたいこんな感じでしょうか ---------------------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>ping sample</title> <script language="VBScript"> <!-- Sub send(f) Dim WshShell, oExec, pingList, x pingList = Array("192.168.0.1", "localhost") Set WshShell = CreateObject("WScript.Shell") for each x in pingList Set oExec = WshShell.Exec("ping " & x ) f.RESULT.value=f.RESULT.value & oExec.StdOut.ReadAll() next End Sub '--> </script> </head> <body> <form name="FORM1"> Ping<button type="button" onclick="javascript:send(this.form)">実行</button><br> <br> 結果:<br> <textarea name="RESULT" cols="72" rows="25"> </textarea> </form> </body> </html>
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>ping x.x.x.x -t >のように、pingを実行し続けた場合に >… >(1)か(2)だけを常にテキストエリアに表示し続ける事は可能でしょうか? 実行結果から、適当な部分を抜き出すことはできると思いますが ping x.x.x.x -t のようにしてしまったら、エンドレスになってしまうので、 質問文の様に複数のPCに(1つのPCへのpingが終わらないので)できなくなるような気がしますが…
補足
やはり、少なくても複数台の端末に併せてスクリプトも複数同時に実行しないと駄目ですよね・・・ 返答ありがとうございました。
補足
>>BLUEPIXYさん 返答ありがとうございました。 丁寧にスクリプトを記述して頂き、大変参考になりました。 私の質問内容が不十分だった為、もしご存知でしたらあらためてお聞きしたいのですが、 ping x.x.x.x -t のように、pingを実行し続けた場合に (1)Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 (2)Request timed out. (1)か(2)だけを常にテキストエリアに表示し続ける事は可能でしょうか? 宜しくお願い致します。