プロが教えるわが家の防犯対策術!

VBScriptで、複数台の端末に対して同時にpingを実行したいのですが、
表示結果をコマンドプロンプトではなく、
ブラウザのテキストエリア内に、リアルタイムに表示
する方法はあるのでしょうか?
イメージとしては、以下の通りになります。
----------------------------------------------------
PC1 Reply from 192.168.1.1: bytes=32 time<1ms TTL=128

PC2 Reply from 192.168.1.2: bytes=32 time<1ms TTL=128

PC3 Request timed out.

PC4
     ・
     ・
     ・
----------------------------------------------------
お分かりの方がいらっしゃいましたら、教えて頂けますでしょうか?

A 回答 (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>

この回答への補足

>>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)だけを常にテキストエリアに表示し続ける事は可能でしょうか?
宜しくお願い致します。

補足日時:2005/12/04 12:37
    • good
    • 0

>ping x.x.x.x -t


>のように、pingを実行し続けた場合に
>…
>(1)か(2)だけを常にテキストエリアに表示し続ける事は可能でしょうか?
実行結果から、適当な部分を抜き出すことはできると思いますが
ping x.x.x.x -t
のようにしてしまったら、エンドレスになってしまうので、
質問文の様に複数のPCに(1つのPCへのpingが終わらないので)できなくなるような気がしますが…

この回答への補足

やはり、少なくても複数台の端末に併せてスクリプトも複数同時に実行しないと駄目ですよね・・・
返答ありがとうございました。

補足日時:2005/12/04 20:23
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!