标题: 可自定生成记录大小和ping的时间长短---自动Ping值统计
[打印本页]
作者: ymtien
时间: 2007-3-27 04:38
标题: 可自定生成记录大小和ping的时间长短---自动Ping值统计
因为工作需要写了这个批处理,给大家参考看看,有部份功能我也是参考别人写的之后再追加功能,所以这个是我修改整合后的加强版本!
REM ------ 自动Ping值统计分页记录 ------
REM 定义视窗大小
title Ping(ICMP)记录器&color 07
@echo off&mode con cols=80 lines=16
@echo off
REM 删除旧记录
cd Record
del *.txt /Q
cd..
REM 定义输入变数
echo.-------- 请输入以下Ping值参数 -------
echo.
set a=
set/p a=[请输入您要Ping的网址或IP]:
echo.
set n=
set/p n=[请输入Ping值统计时间/分钟]:
echo.
set f=
set/p f=[请输入Ping值统计记录档生成间隔/分钟]:
echo.
set s=
set/p s=[请输入Ping Send buffer size/bytes]:
echo.
echo.
echo.→ 开始对[%a%]透过ICMP发送回应请求...
ping 127.1 -n 2 >nul
REM 定义时间变数
set date1=%date:~0,10%
set date2=%date1:/=%
set time1=%time:~0,10%
set time2=%time1REM =%
REM 宣告Ping值回应变数
set for=于以下IP位置:
set of=的
set with=用
set in=(以
set data:=封包:
set milli-seconds:=毫秒为单位)
set Approximate=大约
set times=时间:
set bytes= bytes=
set round=回应
set trip=花费
set Reply=回应
set from=来自
set timed= 时间:
set out=超过
set statistics=值统计
set Packets:=封包:
set Sent=已发送=
set Received= 已收到=
set Lost= 已丢弃=
set loss)=丢弃)
set Minimum=最小值=
set Maximum= 最大值=
set Average= 平均值=
set TTL= TTL=
setlocal enabledelayedexpansion
REM 宣告分页记录判别变数
set m=1
echo ◎统计时间开始于:%date1% %time1% >> Record/%a%_%date2%_%m%.txt
REM Ping值统计记录开始
Goto loop
REM 宣告档案生成别名变数
:Creat-new-files
set /a m+=1
Set t=0
REM 双回圈判别式
:loop
REM 宣告Ping值统计周期变数
set /a r+=1
set /a t+=1
REM 写入Ping值记录
(for /f "delims=" %%i in ('ping -n 30 -l %s% %a%') do (
set ret=
for %%a in (%%i) do if defined %%a (set ret=!ret! !%%a!) else set ret=!ret! %%a
if not "!ret!"=="" (set ret=!ret: time=%time% ! && echo !ret!) else echo.
)) >> Record/%a%_%date2%_%m%.txt
REM 动态进度表
cls
set c=^set /p=■%b%^<nul^&ping/n 127.1^>nul^&
echo.
echo. 【回应地址:%a% 发送封包大小:%s% bytes】
echo. 【Ping值统计时间:%n%分钟 Ping值统计记录档生成间隔:%f%分钟】
echo.
echo. ※如果要中止执行作业请按[Ctrl+C]!
echo.
echo.
echo.
echo. Ping值统计数据记录中 →
echo.
color 7
set/p= <nul&%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%
echo. 100%%
echo.
echo. 完成记录档写入...
set c=■
REM 写入Ping值记录
(for /f "delims=" %%i in ('ping -n 30 -l %s% %a%') do (
set ret=
for %%a in (%%i) do if defined %%a (set ret=!ret! !%%a!) else set ret=!ret! %%a
if not "!ret!"=="" (set ret=!ret: time=%time% ! && echo !ret!) else echo.
)) >> Record/%a%_%date2%_%m%.txt
REM 动态进度表
cls
set c=^set /p=■%b%^<nul^&ping/n 127.1^>nul^&
echo.
echo. 【回应地址:%a% 发送封包大小:%s% bytes】
echo. 【Ping值统计时间:%n%分钟 Ping值统计记录档生成间隔:%f%分钟】
echo.
echo. ※如果要中止执行作业请按[Ctrl+C]!
echo.
echo.
echo.
echo. Ping值统计数据记录中 →
echo.
color 7
set/p= <nul&%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%%c%
echo. 100%%
echo.
echo. 完成记录档写入...
set c=■
REM 判别统计时间已否已?输入时间
if "%r%"=="%n%" Goto exit
REM 判别已?输入的换页储存时间
if "%t%"=="%f%" Goto Creat-new-files
goto loop
REM 结束Ping值统计
:exit
cls
echo.
echo.
echo.
echo. ------- Ping值统计程序已完成,稍后程式将自动关闭,谢谢您的使用ByeBye ^^ -------
ping -n 10 127.1>nul
taskkill /IM cmd.exe
作者: bjsh
时间: 2007-3-27 05:11
del *.txt /Q
这也太......
万一这个目录下还有有用的.txt呢;..............
作者: ymtien
时间: 2007-3-27 05:33
你可以更改不要像我一樣把執行都把舊的記綠檔都砍了..這只是給大家參考!