将其转换为批处理文件

时间:2013-03-29 04:37:44

标签: batch-file

致力于自动制作故障排除指南,所以我作为一个技术人员可以按下..启动..这是我坚持的步骤之一,有关如何制作批处理文件的任何帮助吗?

Check procedure: 

1. Ping 10.70.222.62 -t
Look for any dropped packets.  > or = 1%, send at least 100 pings. 

2.Check the subnet mask 
3.Check the default gateway 
4.Check NIC configuration.  If more than 1 NIC is installed then only one should have the gateway set. 
If all OK, then network is OK. 

我不是一个网络人,所以当它说出检查子网掩码之类的东西时,我不确定那是什么,或者我正在检查它。 NIC配置也可能很难用批处理文件检查? 感谢。

找到了一些可能有帮助的信息..

Subnet Mask  255.255.254.0  
Default Gateway  10.72.170.1  

我确实更改了一些数字,但我可以在需要时将其更改回代码中。

到目前为止第1步......

ping -n 100 x.x.x.x  | find "TTL"
if not errorlevel 1 set error=FAILED
if errorlevel 1 set error=PASSED
echo Result: %error%

唯一的问题是它显示了所有的ping,无论如何它没有显示ping?

步骤2我想你必须做一个ipconfig并找到结果?但不确定如何.. 第3步也是如此

第4步我不知道它甚至在说什么...

2 个答案:

答案 0 :(得分:1)

for命令可以帮助你隐藏ping。按照斯蒂芬的回答,这就是你想要的:

步骤1,2,3: -

    @echo off
    echo Checking ping...
    set state=FAILED
    for /f "tokens=5,7" %%a in ('ping x.x.x.x -n 100') do (
    if "%%a"=="Received" if "%%b"=="100," set state=PASSED
    )
    echo Getting IP configuration...
    ipconfig > stats.txt
    find "Subnet Mask" stats.txt
    find "Gateway" stats.txt
    del stats.txt
    pause

第4步: - 我真的不知道如何批处理...尝试使用第三方软件。

答案 1 :(得分:0)

步骤1:查找“(0%丢失)”而不是“TTL”会更容易,因为找到TTL可能意味着,您尝试了100次,只有一两个响应会重新通过PASSED。 (不要搜索“0%”,因为这也会发现10%20%...)

ping -n 100 x.x.x.x >nul |find "(0%"

步骤2,3: 使用ipconfig >stats.txt

获取配置文件

使用find "Subnet Mask" stats.txtfind "Gateway" stats.txt

获取所需的值

第4步并非无足轻重,我想将其留给其他人