Board logo

标题: [其他] 批处理只用FOR、IPCONFIG和FIND显示本机IP、子网掩码和DNS? [打印本页]

作者: lxzzr    时间: 2009-5-14 09:29     标题: 批处理只用FOR、IPCONFIG和FIND显示本机IP、子网掩码和DNS?

如何只用FOR、IPCONFIG和FIND显示本机IP、子网掩码和DNS(单网卡)?
不用IF、不用SET、不用FOR嵌套等等内部或是外部命令.
除了以下这些写法,还有其它什么写法??
  1. @echo off
  2. for /f "tokens=15 delims= " %%i in ('ipconfig /all ^| FIND /I "address"') do echo %%i
  3. for /f "tokens=15 delims= " %%i in ('ipconfig /all ^| FIND /I "Subnet"') do echo %%i
  4. for /f "tokens=15 delims= " %%i in ('ipconfig /all ^| FIND /I "DNS"') do echo %%i
  5. pause
复制代码

[ 本帖最后由 lxzzr 于 2009-5-16 09:28 编辑 ]
作者: Batcher    时间: 2009-5-14 09:48

XP SP2 EN
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Test>type test.bat
@echo off
for /f "tokens=15 delims= " %%i in ('ipconfig /all^|find /i "address"') do echo/%%i
for /f "tokens=15 delims= " %%i in ('ipconfig /all^|find /i "Subnet"') do echo/%%i
for /f "tokens=15 delims= " %%i in ('ipconfig /all^|find /i "DNS"') do echo/%%i
for /f "tokens=13 delims= " %%i in ('ipconfig /all^|find /i "Gateway"') do echo/%%i

C:\Test>test.bat
192.168.56.3
255.255.255.0
192.168.56.2
192.168.56.1

作者: lxzzr    时间: 2009-5-14 09:51     标题: 回复 2楼 的帖子

呵呵,不是这个意思..
作者: Batcher    时间: 2009-5-14 11:35     标题: 回复 3楼 的帖子

没搞懂什么意思,“不用IF、不用SET、不用FOR嵌套”,顶楼的代码有啥不符合要求的地方吗?
作者: lxzzr    时间: 2009-5-14 12:06     标题: 回复 4楼 的帖子

我是在探索FOR的一种处理机制…
呵呵
作者: Batcher    时间: 2009-5-14 13:44     标题: 回复 5楼 的帖子

还是没搞懂你想干啥
作者: SunTB    时间: 2009-5-14 14:06

感觉这问题有点怪:
如何只用FOR、IPCONFIG和FIND显示本机IP、子网掩码和DNS(单网卡)?
不用IF、不用SET、不用FOR嵌套等等内部或是外部命令.


感觉Batcher的代码完全符合要求了 又出了个说这代码无效

不明白楼主的要求到底是什么样的
作者: cutebe    时间: 2009-5-14 16:53

楼主忽悠人,可惜我不能扣分。
作者: lxzzr    时间: 2009-5-15 01:43     标题: 不是存心忽悠你们,嘿嘿

我只是想探索下FOR的这种处理机制下面是我的代码:
  1. @echo off
  2. for /f "usebackq tokens=15 delims= " %%i in (
  3.           `"ipconfig /all | FIND /I "address" &
  4.             ipconfig /all^| FIND /I "Subnet "^&
  5.             ipconfig /all^| FIND /I "DNS""`
  6. ) do echo %%i
  7. pause
复制代码
  1. @echo off
  2. FOR /F ["options"] %variable IN (
  3.         `"command1 &
  4.           command2^&
  5.           ......  ^&
  6.           command3"`
  7.           ) do (
  8.           command
  9. )
  10. pause
复制代码

[ 本帖最后由 lxzzr 于 2009-5-15 01:45 编辑 ]
作者: Batcher    时间: 2009-5-16 09:22     标题: 回复 9楼 的帖子

原来是这个意思啊,那是不是需要在顶楼添加点描述,比如“除了以下这些写法,还有其它什么写法?”或者干脆写“如何用一个for实现xxx”之类的,这样可能会减少一些歧义吧。
作者: lxzzr    时间: 2009-5-16 09:29     标题: 回复 10楼 的帖子

已经做了修改了...




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