2010-06-08 154 views
0

我嘗試使用vbs製作Ping腳本。我需要一個腳本,每2秒鐘ping一次計算機名,並將結果保存到一個txt文件中(ping命令不會超時,程序會一直運行)。用循環Ping腳本並保存在文本文件中

例如:

06/08/2010 - 13:53:22 |電腦「...」在線

06/08/2010 - 13:53:24 |電腦「......」離線

現在我試着一點點:

strComputer = "TestPC" 

    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}")._ 
    ExecQuery("select * from Win32_PingStatus where address = '"_ 
    & strComputer & "'") 
    For Each objStatus in objPing 
    If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then 

    ..........   

    Next 

而且比我不知道如何做到這一點。 (我是新的vbs :-))

我希望有人能幫助我。

問候, 馬蒂亞斯

+0

我確實做到了這一點猛砸展示我的ISP是何等的糟糕吮吸:) – LukeN 2010-06-08 12:03:19

+0

您好,有什麼是bash的? – Sebastian 2010-06-08 12:05:29

+0

用於類UNIX系統的shell腳本語言 – LukeN 2010-06-08 12:20:03

回答

4

試試這個

Option Explicit 

Dim strHost, strFile 

strHost = "www.google.com" '"127.0.0.1" 
strFile = "C:\Test.txt" 

PingForever strHost, strFile 

Sub PingForever(strHost, outputfile) 
    Dim Output, Shell, strCommand, ReturnCode 

    Set Output = CreateObject("Scripting.FileSystemObject").OpenTextFile(outputfile, 8, True) 
    Set Shell = CreateObject("wscript.shell") 
    strCommand = "ping -n 1 -w 300 " & strHost 
    While(True) 
     ReturnCode = Shell.Run(strCommand, 0, True)  
     If ReturnCode = 0 Then 
      Output.WriteLine Date() & " - " & Time & " | The Computer " & strHost & " is online" 
     Else 
      Output.WriteLine Date() & " - " & Time & " | The Computer " & strHost & " is offline" 
     End If 
     Wscript.Sleep 2000 
    Wend 
End Sub 
+0

謝謝你工作正常:-) – Sebastian 2010-06-09 07:47:01

1

你把你的坪某種類型的循環中,然後用Wscript.Sleep 2000睡2秒。

然後您使用File System Object(FSO)寫入文件。信息可以在here找到。

編輯:這樣的事情可能工作:

Const OpenFileForAppending = 8 
Dim fso, ts 
Set fso = CreateObject("Scripting. FileSystemObject") 

While 1 > 0 ' loop forever  
    Set ts = fso.OpenTextFile("c:\temp\test.txt", OpenFileForAppending, True) 

    ' do your pinging code 

    'if ok 
     ts.WriteLine("OK") 
    'else 
     ts.WriteLine("Not OK") 
    'endif 

    ts.Close() 
    Wscript.Sleep 2000 
Wend 
+0

這是一個很好的信息,但是我真的很糟糕,並且在vbs中是新的。可以告訴我怎麼做?所以我可以更好地理解它。 – Sebastian 2010-06-08 12:28:58

+0

@matthias:我對vbs不是很有經驗,但我添加了一些可能工作的示例代碼,至少它應該給你什麼結構 – 2010-06-08 12:37:30

+0

謝謝,我會試試看,你能說我,我如何在它裏面寫下時間和日期嗎? – Sebastian 2010-06-08 12:41:20

相關問題