自动ping多个IP地址并输出到文件

实现效果:

1.将放在ip.txt文件里面的IP地址连续的ping一次 ,将结果放在不通的文件里面

for /L %D in (ip.txt) do (ping %D -n 1 && echo %D>>通.txt || echo %D >>不通.txt)

2.ping一个网段内的IP地址

for /L %D in (1,1,255) do (ping 192.168.1.%D -n 1 && echo 192.168.1.%D>>通.txt || echo 192.168.1.%D >>不通.txt)

这两段中各内容含义:

-n 1:              表示ping一次

ip.txt:             自己创建的一个文件,将要ping的特定IP放进去会自动ping

(1,1,255):    (1,1,255)就是IP地址的范围,从192.168.1.1192.168.1.255,每次增加1

通.txt:         表示将通的IP地址放在这个文件里面

拓展:

自定义ping之前与ping完之后文件存放的位置

for /f %C in (C:/Users/2533536/Desktop/IP.txt) do ping %C -n 1 && echo  %C>>C:/Users/2533536/Desktop/通.txt || echo %C>> C:/Users/2533536/Desktop/不通.txt

 

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个使用C#多线程ping并将结果写入文件的示例代码: ```csharp using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Net.NetworkInformation; using System.Threading; class Program { static void Main(string[] args) { // 创建一个列表,包含要pingIP地址 List<string> addresses = new List<string> { "www.google.com", "www.baidu.com", "www.microsoft.com", "www.apple.com", "www.amazon.com" }; // 创建一个文件流,用于写入ping结果 using (StreamWriter writer = new StreamWriter("ping_results.txt")) { // 创建一个计数器,用于跟踪已完成ping的地址数量 int count = 0; // 遍历IP地址列表 foreach (string address in addresses) { // 创建一个新线程执行ping操作 Thread t = new Thread(() => { try { // 创建一个Ping对象并发送ping请求 Ping pingSender = new Ping(); PingReply reply = pingSender.Send(address); // 将ping结果写入文件 writer.WriteLine("{0}: {1}", address, reply.Status); } catch (Exception ex) { // 发生异常时也将结果写入文件 writer.WriteLine("{0}: {1}", address, ex.Message); } finally { // 计数器加1 Interlocked.Increment(ref count); } }); // 启动线程 t.Start(); } // 等待所有线程完成 while (count < addresses.Count) { Thread.Sleep(100); } } Console.WriteLine("Ping完成,结果已写入文件。"); Console.ReadKey(); } } ``` 在此示例,我们使用了一个`List<string>`对象来存储要pingIP地址。我们遍历该列表,并为每个地址创建一个新线程执行ping操作。每次ping完成后,我们将结果写入一个文件。 注意,我们在写入文件时使用了`StreamWriter`类,它会自动处理文件流的打开和关闭。我们还使用了`Interlocked.Increment`方法来对计数器进行原子操作,以确保线程安全。最后,我们在主线程等待所有线程完成后输出一个完成消息。 当然,这只是一个简单的示例,你可以根据自己的需求对代码进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值