在VB.net中ping机器列表

时间:2012-02-01 13:25:09

标签: vb.net

我有一个机器列表,在名为devices.txt的文件中每行1个。

我需要做的是ping每台这些机器,然后将每台在线机器输出到另一个名为machines.txt的文本文件

文件只需要是机器名称,每行有1台机器。

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

这样的东西?

    Sub main()

    Dim results As New Dictionary(Of String, Boolean)

    Using myReader As System.IO.StreamReader = My.Computer.FileSystem.OpenTextFileReader("c:\AllComputerNames.txt")

        Do While myReader.Peek() >= 0
            Dim computerName As String = myReader.ReadLine

            Debug.WriteLine(computerName, "Pinging computer :")

            results.Add(computerName, My.Computer.Network.Ping(computerName))

        Loop

    End Using

End Sub

编辑或如果要将其写入文件:

        Using writer = My.Computer.FileSystem.OpenTextFileWriter("C:\ComputersOutput", False)

        Using myReader As System.IO.StreamReader = My.Computer.FileSystem.OpenTextFileReader("c:\AllComputerNames.txt")

            Do While myReader.Peek() >= 0
                Dim computerName As String = myReader.ReadLine

                Debug.WriteLine(computerName, "Pinging computer :")

                writer.WriteLine(String.Join(" - ", computerName, My.Computer.Network.Ping(computerName)))

            Loop

        End Using

    End Using