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

[文本处理] [已解决]批处理如何在XP和WIN7中取ipconfig/all中的同一项结果值?

本帖最后由 locoman 于 2012-10-16 01:17 编辑

各位达人好!
    深夜发帖求助,实在急用无奈,请各位达人援手相助,谢谢!!
    我想用同一个批处理文件在校园网各电脑中用ipconfig/all获取所有的网卡物理地址和IP地址备查,但是,由于每台电脑的操作系统版本不同,ipconfig/all执行后得到的内容表现形式不同,有点问题,
比如:WIN XP中执行ipconfig/all得到的内容值是 英文的,而WIN 7中执行ipconfig/all得到的内容是 中文的。
   
    我在WIN XP中用ipconfig/all|findstr Address>>d:\info.txt,获取该机的网卡物理地址和IP地址。
    在WIN 7中得用ipconfig/all|findstr 地址>>d:\info.txt,才能获取该机的网卡物理地址和IP地址。

这样的麻烦是得写两个批处理文件让执行人去根据自己的操作系统不同而确定执行相应的批处理文件才能正确获取所需,但是,有些人却不能或故意不正确选择执行。

我想求助达人们:
一、只写一个批处理文件,ipconfig/all|findstr Address|地址>>d:\info.txt 。这样就不管操作系统是什么,只要执行ipconfig/all后,发现包含“Address”或者“地址”字样的内容都保存到>>d:\info.txt中。
不知这样写法是否正确?或者在这两种系统中都能正确执行?因为我电脑只是WIN XP 的没有WIN 7测试。

谢谢达人们指正和测试,谢谢了!!!
1

评分人数

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

用“||”
只要执行ipconfig/all后,发现包含“Address”或者“地址”字样的内容都保存到>>d:\info.txt中。
一开始想用DOSKEY来写了。但没有成功,不过还有其它方法(比如利用运行也就是可执行路径,快捷方试,直接把P放在桌面上等等)
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

本帖最后由 locoman 于 2012-10-12 08:09 编辑

回复 2# wc726842270


    谢谢大校的回复!没明白大校的意思,期待大校同志进一步的诠释和解决!

   请各位高人帮助我!

TOP

是否可以先行用“ver”进行版本判别,再条件执行。
我是这样,但写不来。

TOP

  1. ipconfig /all|findstr /i "地址 Address">d:\info.txt
复制代码
1

评分人数

TOP

本帖最后由 jakorzhang 于 2012-10-12 09:41 编辑

@echo off
(for %%a in (address 地址) do ipconfig /all|find /i "%%a")>d:\info.txt
start info.txt
pause
其中 start是个显示作用  pause是停止 可以去掉 根据你的情况 好像去掉更合适
1

评分人数

看别人的帖子!广集思路!

TOP

回复 5# apang
谢谢大校的热情帮助!
代码简单,实测在WIN XP中运行能得到所需。但没有在WIN 7中测,有WIN 7 的朋友如果有空帮到在WIN 7实测一下,看能否正常运行并得到所需。

我在WIN XP中实测的结果:
      Physical Address. . . . . . . . . : F0-4D-A2-95-A8-9D

        Physical Address. . . . . . . . . : 1C-65-9D-66-0C-1E

        IP Address. . . . . . . . . . . . : 192.168.1.3

        Physical Address. . . . . . . . . : 00-53-45-00-00-00

        IP Address. . . . . . . . . . . . : 219.152.34.57

TOP

回复  apang
谢谢大校的热情帮助!
代码简单,实测在WIN XP中运行能得到所需。但没有在WIN 7中测,有WIN ...
locoman 发表于 2012-10-15 13:51


ipconfig /all|findstr /i "地址 Address">d:\info.txt
    win7 32系统下,运行结果是:

   物理地址. . . . . . . . . . . . . : 00-24-1D-AD-89-36
   本地链接 IPv6 地址. . . . . . . . : fe80::c1de:5658:43e8:b1d1%11(首选)
   IPv4 地址 . . . . . . . . . . . . : 10.10.96.173(首选)
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   IPv6 地址 . . . . . . . . . . . . : 2001:0:4137:9e76:2ccb:2cfa:f5f5:9f52(首选)
   本地链接 IPv6 地址. . . . . . . . : fe80::2ccb:2cfa:f5f5:9f52%13(首选)

TOP

我去 我的帮忙您就直接无视?怎么说我也是怀着一腔热血与激情想了想才给您回复的。。。
看别人的帖子!广集思路!

TOP

6楼的代码能满足需求吗?

TOP

  1. @echo off
  2. title ip
  3. mode con cols=50 lines=10
  4. color 0a
  5. ver | find "5.1." > NUL &&  goto show51
  6. ver | find "6.1." > NUL &&  goto show61
  7. :show51
  8. @echo 当前系统是:[WindowsXP ]
  9. for /f "tokens=2 delims=:" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
  10. echo ==============================
  11. echo %ip%
  12. echo ==============================
  13. pause & exit
  14. :show61
  15. @echo 当前系统是:[Windows7 ]
  16. for /f "tokens=2 delims=:" %%i in ('ipconfig ^| find /i "ipv4 地址"') do set ip=%%i
  17. echo ==============================
  18. echo 您的ip地址为:%ip%
  19. echo ==============================
  20. pause & exit
复制代码
回显显示ip 要提取 可以改一改

TOP

回复 10# forfiles

完全可以
看别人的帖子!广集思路!

TOP

本帖最后由 locoman 于 2012-10-18 00:00 编辑
我去 我的帮忙您就直接无视?怎么说我也是怀着一腔热血与激情想了想才给您回复的。。。
jakorzhang 发表于 2012-10-16 09:43



    呵呵!实在对不起您!我一看那串简单的代码能解决问题了后就去单位测试去了,没有及时测试您的代码。

    还好 Batcher 给您直接加分了!Batcher一直都是敬业的、公正的,他眼睛雪亮着呢,能得到他的加分是最大的肯定和关注了。

    谢谢您的热情与激情,请谅解我的不是!!

TOP

返回列表