Vb.net 尝试使用ping向日志添加时间戳,但当我使用streamwriter添加时间戳时,它会使控制台ping无效

Vb.net 尝试使用ping向日志添加时间戳,但当我使用streamwriter添加时间戳时,它会使控制台ping无效,vb.net,timestamp,ping,Vb.net,Timestamp,Ping,我正在尝试制作一个程序,将ping一个IP x的次数,然后将结果写入日志并通过电子邮件发送给该日志。在我决定给它添加时间戳之前,它工作得很好。当我试着用额外的时间戳代码运行它时,它成功了,这样控制台就不会ping IP,但编写器会将时间戳写入文件,我不知道为什么。这是那艘潜艇的代码 Sub ping(ByVal interval As Integer, ByVal ip As String, ByVal desktop As String, ByRef counter As Integer, B

我正在尝试制作一个程序,将ping一个IP x的次数,然后将结果写入日志并通过电子邮件发送给该日志。在我决定给它添加时间戳之前,它工作得很好。当我试着用额外的时间戳代码运行它时,它成功了,这样控制台就不会ping IP,但编写器会将时间戳写入文件,我不知道为什么。这是那艘潜艇的代码

Sub ping(ByVal interval As Integer, ByVal ip As String, ByVal desktop As String, ByRef counter As Integer, ByRef boolping As Boolean)
    Dim now As New DateTime
    Dim writer As System.IO.StreamWriter = System.IO.File.AppendText(desktop & "\log.txt")
    While counter > 0 And boolping = True
        now = DateTime.Now
        writer.WriteLine(now)
        boolping = My.Computer.Network.Ping(ip)
        Process.Start("CMD", "/c ping " & ip & " >> " & desktop & "\log.txt")
        System.Threading.Thread.Sleep(interval)
        counter = counter - 1
    End While
    writer.Close()
End Sub

不确定为什么要使用进程。是否开始?在.NET框架中,您已经具备了实现这一点所需的一切

以下是如何做到这一点:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    Dim address As String = "www.yahoo.com"
    Dim log As String = "log.txt"
    Dim count As Integer = 5
    For i As Integer = 0 To count
        Dim ping As Ping = New Ping()
        Dim pingReply As PingReply = ping.Send(address)
        Dim contents As String =
            String.Format("{0}{1}{2}{3}{4}{5}",
                          DateTime.Now, vbTab, address,
                          vbTab, pingReply.Status, vbCrLf)
        File.AppendAllText(log, contents)
        Thread.Sleep(TimeSpan.FromSeconds(1))
    Next
End Sub
结果:

10/2/2014 9:24:20 PM    www.yahoo.com   Success
10/2/2014 9:24:21 PM    www.yahoo.com   Success
10/2/2014 9:24:22 PM    www.yahoo.com   Success
10/2/2014 9:24:23 PM    www.yahoo.com   Success
10/2/2014 9:24:24 PM    www.yahoo.com   Success
10/2/2014 9:24:25 PM    www.yahoo.com   Success

因此,它显示了它是否成功,但是否有方法记录所有ping统计信息?是的,有一个示例显示了如何检索有关ping的更多详细信息:。如我所示,您可以将它们附加到字符串中,例如,使用vbTab解析日志或在Excel中打开日志时,您将更轻松。