标题: 给出例程,请指点迷津 (已经解决)
[打印本页]
作者: zhclvip
时间: 2007-1-23 11:30
标题: 给出例程,请指点迷津 (已经解决)
@echo off
Title 显示网络配置
color 1f
::调用格式:
call :select "ip address" "ip"
call :select "Physical Address" "mac"
call :select "Default Gateway" "gateway"
call :select "DNS Servers" "dns"
call :select "Description" "netcard"
:: 演示效果
echo IP:%ip%
echo MAC:%mac%
echo DNS:%dns%
echo GATEWAY:%gateway%
echo NETCARD:%netcard%
pause>nul
goto :eof
::**************************************************************
:: 解析ipconfig命令输出通用函数
::**************************************************************
:select
for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| findstr /i /c:%1') do if not "!%~2!"=="" set "%~2=%%i"
:eof
××××××××××××
in ('ipconfig /all ^| findstr /i /c:%1')其中的^| 正常应该仅有|,这是???
为何最后这一点set "%~2=%%i"使用了%~2而不是%2呢???
[
Last edited by zhclvip on 2007-2-1 at 10:38 AM ]
作者: lxmxn
时间: 2007-1-23 11:38
在for命令的in后面的括号里面,一些特殊的字符要转义一下,所以加上 ^ 前导符来将其后的特殊字符转义,这样就可以正常在for命令里面执行了。
%~2 是为了去掉%2的引号。
作者: 3721xp
时间: 2007-1-23 11:41
新手报到互相学习
作者: zhclvip
时间: 2007-1-24 02:44
二楼真强,非常感谢。
作者: wycp
时间: 2007-1-24 06:05
Quote: |
Originally posted by lxmxn at 2007-1-22 10:38 PM:
在for命令的in后面的括号里面,一些特殊的字符要转义一下,所以加上 ^ 前导符来将其后的特殊字符转义,这样就可以正常在for命令 ... |
|
不错,解释够快的。
作者: zhclvip
时间: 2007-1-26 08:41
感谢二楼,^转义,~脱引号,!延时赋值 ……
作者: gne3
时间: 2007-2-18 05:31
顶了