我有一个包含几百个服务器名称列表的文本文件
Server1
Server2
Server3
Server4
依旧......
我想运行一个批处理文件,它将获取此文件,ping所有文件,如果找到则只返回IP地址,或者" DOWN"如果无法访问或未找到。我希望输出进入output.txt,输出只需要是IP地址或" DOWN"。
示例输出:
176.28.29.100
DOWN
176.28.29.105
176.28.29.110
编辑:我是批处理的新手,到目前为止我已经完成了这个:将服务器名称转换为excel,在另一列中获取服务器名称的数量
ping -n 1 servername | findstr "Pinging host" >> out.txt
...
我得到的输出格式为
Ping request could not find host Server1. Please check the name and try again.
Pinging Sever2 [176.28.29.105] with 32 bytes of data:
Reply from 176.28.29.110: Destination host unreachable.
想要获得IP
答案 0 :(得分:0)
逐行处理文件,使用for /f
:
@echo off
setlocal enabledelayedexpansion
for /f %%i in (servers.txt) do (
set p=DOWN
set r=no response
for /f "tokens=2 delims=[]" %%p in ('ping -n 1 -w 1 %%i^|find "["' ) do set p=%%p
ping -n 1 -w 2000 %%i|find "TTL" >nul && set r=running
echo %%i is !p! !r!
)
(根据您的需要调整echo
行)
答案 1 :(得分:0)
您可以尝试这样:
$('#table_id').dataTable().fnAddData( [
[desc,recl, inv, comp, tsbs]
]);