Вот в первом приближении решение. В подпрограмму PingInLog передаём ip, значения параметров n и l.
В лог-файле с именем дата-время.лог получаем строку с интересующими Вас сведениями.
Не уверен в универсальности в зависимости от ОС. У меня русская Win XP. Явно для английской версии надо другие сравнения. Что касается имени лог-файла, то, наверное, лучше его не создавать заново с разными именами (как я сделал в этом примере под Вашим давлением), а создавать заново каждый день и пополнять его в течение дня - я в лог-файле прописал имя пользователя и дату-время получения результата. Можно в одном файле тогда отследить хронику событий.
Код:

Echo Off
Call :PingInLog 156.156.204.1 5 1024
GoTo End
:PingInLog
Set U=%UserName%
Set U1='
Set U2='
For /F "usebackq tokens=1,2,3,4* delims=," %%i in (`ping %1 -n %2 -l %3`) Do (
For /F "usebackq tokens=1,2,3*" %%a in ('%%i') Do (
If "%%a %%b"=="Обмен пакетами" Set U=%U% %%a %%c %%d
)
For /F "usebackq" %%a in ('%%k') Do (
If "%%a"=="потеряно" Set U1=%%k
)
For /F "usebackq" %%a in ('%%k') Do (
If "%%a"=="Среднее" Set U2=%%k
)
)
Set Log=%Date:~6,4%%Date:~3,2%%Date:~0,2%-%Time:~0,2%%Time:~3,2%%Time:~6,2%.log
Echo %U%%U1%из %2.%U2% %Date% %Time%>%Log%
:End
Чтобы выдать файл на рабочий стол, надо последнее Эхо изобразить в виде:
Echo %U%%из %2.% %Date% %Time%>"C:\Documents and Settings\All Users\Рабочий стол\%Log%"