Board logo

标题: [网络连接] 请教批处理for循环来批量ping怎么显示设备中文名字 [打印本页]

作者: 奔跑的蜗牛wkl    时间: 2021-5-27 20:45     标题: 请教批处理for循环来批量ping怎么显示设备中文名字

  1. @echo off
  2. echo 开始 PING.........
  3. echo *********管理及网关检查********>>pinlog.txt
  4. echo *********管理及网关检查********>pingresult1.txt
  5. date /t>>pingresult1.txt
  6. time /t>>pingresult1.txt
  7. for /f %%i in (ipADDR1.txt) do ping %%i -n 2 -w 1000 > j.txt & type j.txt & type j.txt | find "丢失 = 0" >nul && echo %%i OK >>pingresult1.txt || echo %%i err >>pingresult1.txt
  8. echo PING测试结束
  9. echo.
  10. type pingresult1.txt
  11. pause
复制代码
实现功能是读取ipADDR1里面的地址进行ping,并记录结果
但是我想增加中文显示,就是ping完之后显示这个ip地址通或者不通的同时显示这个ip地址对应的设备中文名字,
ipADDR1.txt和for循环该怎么修改呢?
作者: hlzj88    时间: 2021-5-29 14:12

  1. for /f "tokens=1,2 delims=|" %%i in (ip表.txt) do ping /n 1 %%i&&echo %%j 畅通 || echo %%j 不通
复制代码
ip表  内容  ip|设备名   多行
作者: Batcher    时间: 2021-5-29 22:13

回复 1# 奔跑的蜗牛wkl
  1. @echo off
  2. set "FileResult=pingresult1.txt"
  3. echo 开始 PING.........
  4. echo *********管理及网关检查********>>pinlog.txt
  5. echo *********管理及网关检查********>"%FileResult%"
  6. >>"%FileResult%" echo %date% %time%
  7. for /f "tokens=1*" %%i in (ipADDR1.txt) do (
  8.     ping %%i -n 2 -w 1000 > j.txt
  9.     type j.txt
  10.     type j.txt | find "丢失 = 0" >nul
  11.     if errorlevel 1 (
  12.         >>"%FileResult%" echo %%i %%j 失败
  13.     ) else (
  14.         >>"%FileResult%" echo %%i %%j 成功
  15.     )
  16. )
  17. echo PING测试结束
  18. echo.
  19. type "%FileResult%"
  20. pause
复制代码

作者: 奔跑的蜗牛wkl    时间: 2021-6-1 12:28

回复 3# Batcher


    这个可以,谢谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2