首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ping批量输出到csv

问Ping批量输出到csv
EN

Stack Overflow用户
提问于 2016-02-16 14:10:56
回答 1查看 1.7K关注 0票数 2

我从这个站点获得了以下大部分批处理文件,并根据我的需要对其进行了修改:

代码语言:javascript
复制
@echo off

set/p host=host Address: 
set logfile=Log_%host%.log
set csfile=pings_%host%.csv

echo Target Host = %host% >%logfile%
netsh interface show interface >>%logfile%
nslookup myip.opendns.com resolver1.opendns.com >>%logfile%
for /f "tokens=*" %%A in ('ping %host% -n 1 ') do (echo %%A>>%logfile% && GOTO Ping)
:Ping
for /f "tokens=* skip=2" %%A in ('ping %host% -n 1 ') do (
    echo %date% %time:~0,2%:%time:~3,2%:%time:~6,2% %%A>>%logfile%
    echo %date%,%time:~0,2%:%time:~3,2%:%time:~6,2%,%%A>>%csfile%
    echo %date% %time:~0,2%:%time:~3,2%:%time:~6,2% %%A
    timeout 1 >NUL 
    GOTO Ping)

.log文件的输出正是我想要的。csv文件输出如下所示:

代码语言:javascript
复制
02/16/2016 Tue, 8:02:03,Reply from 173.194.115.33: bytes=32 time=16ms TTL=56

我至少希望看到这样的情况:

代码语言:javascript
复制
02/16/2016 Tue, 8:02:03,Reply from 173.194.115.33:, bytes=32, time=16ms, TTL=56

最理想的是,我希望csv看起来像这样:

代码语言:javascript
复制
Date,Time,IP,Bytes,Time,TTL
02/16/2016 Tue,8:02:03,173.194.115.33,32,16ms,56
02/16/2016 Tue,8:02:04,173.194.115.33,32,17ms,56
...

如果可能的话,我想远离PowerShell。

谢谢你,乔

EN

回答 1

Stack Overflow用户

发布于 2016-02-16 15:19:29

您可以使用FOR循环来解析您所关心的值。

代码语言:javascript
复制
FOR /F "usebackq tokens=1-10 delims==:< " %%A IN (`ping google.com -n 1`) DO (
    REM Only process the response line.
    IF "%%A"=="Reply" (
        ECHO %%C,%%E,%%G,%%I
    )
)

此片段将以下数据转换为CSV格式:

IP,字节,时间,TTL

样本输出:

74.125.138.138,32,11 43,43

您应该能够很容易地将其适应到您的脚本中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35434792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档