找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25838|回复: 5

[网络连接] 批处理怎样ping IP.txt内的IP然后对不通的进行tracert跟踪?

[复制链接]
发表于 2015-11-4 11:28:06 | 显示全部楼层 |阅读模式
大家好!最近公司服务器增加,需要每天进行检查,在每台PC上对服务器集群进行ping然后输出一个txt文件(里面只显示最后结果的四行),然后对ping不通的进行tracert路由跟踪结果输出到另一个txt文件。请大侠们帮忙帮我写一个批处理,本人对批处理真是不懂啊
 楼主| 发表于 2015-11-4 11:29:09 | 显示全部楼层
那位大侠帮帮忙。主要是都需要输出txt文件
发表于 2015-11-4 13:11:40 | 显示全部楼层
不懂就去学。
发表于 2015-11-4 13:24:32 | 显示全部楼层
回复 2# 小柒


    除了“输出txt文件”之外,其它部分你已经写好了吗?把代码发出来吧,我试试帮你修改一下
发表于 2015-11-4 15:37:21 | 显示全部楼层
复杂点的可以考虑用编程语言,下面是aardio代码实现的多线程PING工具
从文本中载入IP地址,PING失败界面上IP显示为红色,同时 tracert结果输出到IP同名txt文件。



import win.ui;
/*DSG{{*/
var winform = win.form(cls="ING_FORM";text="PING测试";right=599;bottom=399;border="dialog frame";max=false)
winform.add(
listbox={cls=
"listbox";left=6;top=9;right=588;bottom=386;bgcolor=16777215;edge=1;items={};ownerDraw=true;z=1}
)
/*}}*/

//设定自绘每行的高度
winform.listbox.onMeasureItem = function(measureItem){
    measureItem.itemHeight = 16;  
}

//自绘列表项
winform.listbox.onDrawItem = function(drawItem){
   
var text = winform.listbox.getItemText( drawItem.itemID + 1 )
    ::SetTextColor(drawItem.hDC,winform.listbox.ipColors[drawItem.itemID + 1] ) ;
    :rawText(drawItem.hDC,text,#text,drawItem.rcItem,0x20
/*_DT_SINGLELINE*/)
}
winform.show()
  
//显示PING结果
import thread.command;
winform.listbox.ipColors = {};
thread.command().ping =
function(ip,reply){
   
if( reply ){
        winform.listbox.add(ip)
        winform.listbox.ipColors[winform.listbox.count] = 0xF00
    }
   
else {
       winform.listbox.add(ip +
" tracert...")
       winform.listbox.ipColors[winform.listbox.count] = 0x0f0
    }
}

//创建PING线程
import thread.works;
var work = thread.works( 2,
   
function( ip ) {
        
import icmp.ping;
        
import thread.command;
        
import process.popen;
        
        
var ping = icmp.ping();
        
        
for(i=1;4;1){
            
if( ping.perform(ip) ){
                thread.command.post(
"ping",ip, string.format( "Reply from %s: bytes=%d time=%dms TTL=%d"
                    , ping.ip , #ping.requestData  , ping.echoReply.roundTripTime , ping.echoReply.options.ttl )  )
               
return;
            }  
            
sleep(10)
        }  
        
        thread.command.post(
"ping",ip );
        
var prcs = process.popen(,"tracert",ip);
        
var file = io.open("/" + ip + ".txt","a+b");
        
for( all,out,err in prcs.each() ){
            file.write( out,err );
            file.flush();
        }
        file.close();
        prcs.close();
    }
);

//添加PING任务
work.push("bbs.aau.cn")
work.push(
"www.baidu.com")

//如果需要从文本载入IP地址,这样写
if( io.exist("\ip.txt") ){
   
for ip in io.lines("\ip.txt") {
        work.push(ip);
    }
}
work.waitClose();
winform.msgbox(
"后台线程任务已全部完成");

win.loopMessage();

评分

参与人数 1技术 +1 收起 理由
依山居 + 1 1

查看全部评分

 楼主| 发表于 2015-11-6 09:50:10 | 显示全部楼层
回复 5# klv


    谢了!我还是先好好学学吧!先写了一个让他们先用着您这个我先收起来等我学明白了再好好分析。感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 11:34 , Processed in 0.011205 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表