标题: 【求助】获取Ip地址串后无法字符串处理,求教
[打印本页]
作者: kkk4god
时间: 2008-8-1 16:58
标题: 【求助】获取Ip地址串后无法字符串处理,求教
@echo off & setlocal EnableDelayedExpansion
rem get Ip from ipconfig
for /f "delims=: tokens=2" %%i in ('ipconfig ^| find /I "IP Address"') do set Ip=%%i
set Ip=!Ip: =!
echo {!Ip!}
执行的结果是
}192.168.175.73
请问是为什么?我预想的输出是{192.168.175.73}
我实际是想用这个Ip去做些配置文件的比对,由于上述的问题,导致后续的比对都无法成功。向各位求教,谢谢了!
作者: s11ss
时间: 2008-8-1 17:06
echo {%ip%}
作者: FQ
时间: 2008-8-1 17:21
@echo off & setlocal
rem get Ip from ipconfig
for /f "delims=: tokens=2" %%i in ('ipconfig ^| find /I "IP Address"') do set Ip=%%i
set Ip=%Ip: =%
echo {%Ip%}
作者: kkk4god
时间: 2008-8-2 13:33
谢谢楼上的解答,为什么用了变量延迟后反而得不到正确结果呢,能否给我再指点迷津下,谢谢啦!
作者: obsolete
时间: 2008-8-2 14:13
楼主可以先改成 echo {!Ip!}>>output.txt,
用记事本打开后可以看到有一个黑方块吧,不可见字符。
用UltraEdit打开后看到这个黑方块是个回车0D,它会把光标移到行首,并输出其后的内容。
%%忽略了不可见字符,事实上,%%没有完全显示环境变量的能力,比如环境变量包含了一个换行,%%也只能显示第一行的内容。
作者: obsolete
时间: 2008-8-2 14:15
另外一点就是,echo到控制台会解释执行控制字符(或不可见字符),并不是字符串本身。echo到文件可能可以保留原字符串。
作者: katamoto
时间: 2008-8-2 14:23
直接
echo %ip%
就可以了。
作者: spy616
时间: 2009-3-3 11:55
又学一招