标题: [网络连接] 求助批处理ping命令计算机名导出IP地址 [打印本页]
作者: internet20 时间: 2022-4-1 17:22 标题: 求助批处理ping命令计算机名导出IP地址
各位大神:
求助!
csv表格导出一列计算机名,用ping命令拼计算机名得出IP地址并提取IP地址到该表格下一列,并且一一对应。
例:一、123.csv内容: www.baidu.com
www.csdn.net
lixx3
telw4
二、ping命令后得出结果:
正在 Ping www.a.shifen.com [110.242.68.3] 具有 32 字节的数据:
来自 110.242.68.3 的回复: 字节=32 时间=21ms TTL=53
110.242.68.3 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 21ms,最长 = 157ms,平均 = 57ms
正在 Ping www.csdn.net [39.106.226.142] 具有 32 字节的数据:
来自 39.106.226.142 的回复: 字节=32 时间=20ms TTL=89
39.106.226.142 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 20ms,最长 = 29ms,平均 = 22ms
Ping 请求找不到主机 lixx3。请检查该名称,然后重试。
Ping 请求找不到主机 telw4。请检查该名称,然后重试。
批处理内容:
- @echo off
- for /f %%i in (123.csv) do ping.exe %%i >>ipscan.txt
- for /f "delims=[] tokens=2" %%i in (ipscan.txt) do echo %%i >>123.csv
- pause
复制代码
问题:
1、无法从123.csv中提取数据进行ping处理,只能从txt文本运行成功第一条命令。
2、第二条命令提取出的IP地址存放到123.csv内会覆盖第一列内容,如何存放到第二列,并且与计算机名一一对应?
3、ping通的计算机可以显示IP地址,未ping通如何标记?
作者: Batcher 时间: 2022-4-1 17:50
回复 1# internet20 - @echo off
- cd /d "%~dp0"
- setlocal enabledelayedexpansion
- set "NewFile=456.csv"
- >"%NewFile%" type nul
- for /f "delims=" %%i in ('type "123.csv"') do (
- echo 正在处理 %%i
- set "IP=ping不通"
- for /f "tokens=2 delims=[]" %%a in ('ping -n 1 "%%i" ^| findstr /i /c:"正在" /c:"Pinging"') do (
- set "IP=%%a"
- )
- >>"%NewFile%" echo %%i,!IP!
- )
复制代码
作者: internet20 时间: 2022-4-1 18:10
回复 2# Batcher
不行呀,打不开456.CSV
作者: Batcher 时间: 2022-4-1 19:18
回复 3# internet20
请参考Q-04和Q-05把bat文件和txt文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |