[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] [已解决]批处理文件如何查到ip对应地址表中的名称或描述?

各位老师,小弟我现在要查各个班组的电脑开机情况,已经用了一个批处理来自动ping地址表中的ip地址,能不能把不通的ip地址对应的班组名称一起反馈呢?
因为有些ip地址不方便对外发布,所以举例说明一下吧:
a。txt是ip地址表
172.16.0.1        1班
172.16.0.2        2班
172.16.0.3        3班
172.16.0.4        4班
172.16.0.5        5班
172.16.0.6        6班
172.16.0.7        7班
172.16.0.8        8班
172.16.0.9        9班
172.16.0.10        10班
172.16.0.11        11班
172.16.0.12        12班
172.16.0.13        13班
172.16.0.14        14班
我每天早上对这些地址ping一遍,要求找出哪些班组没有开机也就是不通。反馈结果
例如
172.16.0.9        9班
172.16.0.10        10班
172.16.0.11        11班
172.16.0.12        12班
172.16.0.13        13班
这样的话我就知道那些班组不通,就可以找到相关责任人员
现在用的是一位论坛里老师给的
for /f %%i in (a.txt) do (ping /n 1 %%i||echo,%%i>>b.txt)
可以反馈不通的ip地址,但是不能反馈对应的名称,因为ip地址较多,所以在ip表中比对比较费时间,能不能
在反馈ip地址的同时反馈对应的名称?前提是我有ip地址表,每一个ip地址固定对应一个名称。
谢谢
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

这里高手真多

TOP

已成功实现,谢谢各位啦

TOP

回复 15# lovedjsn


大家相互切磋

TOP

回复 14# find


    饿饿~~~是偶的错~~汗汗空写~~以前还真没有注意到~~!

TOP

回复 12# lovedjsn


type那个方法就是为了避免手动删除或多次写入

TOP

  1. @echo off
  2. for /f "tokens=1,2" %%i in (a.txt) do (ping /n 1 %%i||echo,%%i%%j>>b.txt&&Set /a n+=1)
  3. echo ping不通的合计:%n%
  4. pause
复制代码
1

评分人数

TOP

回复 11# find


    我是没有看懂你用TYPE用意是什么~~~所以感觉用DEL可以减少手动删除或多次写入~~!

TOP

回复 10# lovedjsn


请教一下del比type好在什么地方?

TOP

本帖最后由 lovedjsn 于 2012-1-6 12:54 编辑

回复 9# find


    感觉type有点多余加个DEL可能会好点不用麻烦最次要删除
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set count=0
  4. del /f /q b.txt >nul 2>nul
  5. for /f "tokens=1,2" %%i in (a.txt) do (
  6.     ping -n 1 %%i>nul
  7.     if "!errorlevel!" neq "0" (
  8.         >>b.txt echo,%%i %%j&&echo %%i %%j
  9.         set /a count+=1
  10.     )
  11. )
  12. echo ______________________________________________________________________
  13. echo 共有!count!个不通的
  14. >>b.txt echo 共有!count!个不通的
  15. >>b.txt echo %date% %time%
  16. pause >nul
复制代码
1

评分人数

TOP

回复 7# pyhx
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set count=0
  4. type nul>b.txt
  5. for /f "tokens=1,2" %%i in (a.txt) do (
  6.     ping /n 1 %%i
  7.     if "!errorlevel!" neq "0" (
  8.         >>b.txt echo,%%i %%j
  9.         set /a count+=1
  10.     )
  11. )
  12. >>b.txt echo 共有!count!个不通的
  13. >>b.txt echo %date% %time%
复制代码
1

评分人数

TOP

回复 4# pyhx
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set count=0
  4. type nul>b.txt
  5. for /f "tokens=1,2" %%i in (a.txt) do (
  6.     ping /n 1 %%i
  7.     if "!errorlevel!" neq "0" (
  8.         >>b.txt echo,%%i %%j
  9.         set /a count+=1
  10.     )
  11. )
  12. >>b.txt echo 共有!count!个不通的
复制代码

TOP

还能不能加进去日期啊
就是每天ping完生成的文本加进去当天的日期

TOP

不会啊,老大
加到那一句里面啊

TOP

本帖最后由 lovedjsn 于 2012-1-5 19:28 编辑

q我上次好像给你写过~!
用SET计数
set a=1
set a+=1

TOP

返回列表