我有一个机器列表,在名为devices.txt的文件中每行1个。
我需要做的是ping每台这些机器,然后将每台在线机器输出到另一个名为machines.txt的文本文件
文件只需要是机器名称,每行有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