批量ping结果为CSV

时间:2014-07-25 22:56:53

标签: batch-file for-loop ping

我正在尝试创建一个脚本,让我从文本文件中ping一组计算机并输出它们是否响应CSV文件。当使用单个机器测试命令时,我收到正确的错误级别响应,但是当我使用FOR语句尝试它时,每个结果都被列为错误级别0。

for /f %%g in (computers.txt) do (
    ping -n 1 %%g | findstr "TTL"
    if errorlevel equ 0 (
        echo %%g,success >> results.csv
    ) else (
        echo %%g,fail >> results.csv
    )
)

我做错了什么?我已经尝试了上面的代码,以及来自Batch ping a list of computer names and write the results to file的代码(它没有返回任何响应)。有没有更好的方法来实现结果?任何帮助将不胜感激。


解决方案

for /f %%g in (computers.txt) do (
    for /f "tokens=1" %%a in ('ping -n 1 %%g ^| findstr /i /c:"try" /c:"out" /c:"TTL"') do (
    if %%a EQU Ping (echo.%%g,Could not find host>>results.csv)
    if %%a EQU Destination (echo.%%g,Destination host unreachable>>results.csv)
    if %%a EQU Request (echo.%%g,Request timed out>>results.csv)
    if %%a EQU Reply (echo.%%g,Replied>>results.csv))
)

在对G的回答的回复中进行了更新。谢谢G!

2 个答案:

答案 0 :(得分:1)

我做了一些更改,现在你可以ping,trace和nslookup了。甜!!

@echo off & cls

echo Checking connection please wait . . .
echo %date% %time%>> results.csv

for /f %%g in (computers.txt) do (
    for /f "tokens=1" %%a in ('ping -a -n 1 %%g ^| findstr /i /c:"try" /c:"out" /c:"TTL"') do (
    if %%a EQU Ping (echo.%%g,Could not find host>>results.csv)
    if %%a EQU Destination (echo.%%g,Destination host unreachable>>results.csv)
    if %%a EQU Request (echo.%%g,Request timed out>>results.csv)
    if %%a EQU Reply (echo.%%g,On-line>>results.csv))



:tracert
    tracert %%g >>results.csv

:nslookup
    nslookup %%g >>results.csv

    echo ************************************************************************** >> results.csv
)

echo The test is done!
pause

exit 

答案 1 :(得分:0)

你能看出这对你有用吗?

for /f %%g in (computers.txt) do (
    for /f "tokens=1" %%a in ('ping -n 1 %%g ^| findstr /i /c:"out" /c:"TTL"') do (
    if %%a EQU Reply (echo.%%g,success>>results.csv) else (echo.%%g,Fail>>results.csv)      
))

样本 -
(我在家用电脑上,可以上网)

Computers.txt

google.com
12.2.2.3
gmail.com
90.2.3.1
yahoo.com
6.6.6.6
10.23.123.24
stackoverflow.com

我的results.csv

google.com,success
12.2.2.3,Fail
gmail.com,success
90.2.3.1,Fail
yahoo.com,success
6.6.6.6,Fail
10.23.123.24,Fail
stackoverflow.com,success

干杯,G