中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 11:49
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 【求助】获取Ip地址串后无法字符串处理,求教
可打印版本  848 / 7
第1楼 kkk4god 发表于 2008-08-01 16:58
新手上路 发帖 4 积分 11
【求助】获取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去做些配置文件的比对,由于上述的问题,导致后续的比对都无法成功。向各位求教,谢谢了!
第2楼 s11ss 发表于 2008-08-01 17:06
银牌会员 发帖 566 积分 2,098
第3楼 FQ 发表于 2008-08-01 17:21
社区乞丐 发帖 37 积分 -61
第4楼 kkk4god 发表于 2008-08-02 13:33
新手上路 发帖 4 积分 11
谢谢楼上的解答,为什么用了变量延迟后反而得不到正确结果呢,能否给我再指点迷津下,谢谢啦!
第5楼 obsolete 发表于 2008-08-02 14:13
初级用户 发帖 72 积分 192
楼主可以先改成 echo {!Ip!}>>output.txt,
用记事本打开后可以看到有一个黑方块吧,不可见字符。
用UltraEdit打开后看到这个黑方块是个回车0D,它会把光标移到行首,并输出其后的内容。

%%忽略了不可见字符,事实上,%%没有完全显示环境变量的能力,比如环境变量包含了一个换行,%%也只能显示第一行的内容。
第6楼 obsolete 发表于 2008-08-02 14:15
初级用户 发帖 72 积分 192
另外一点就是,echo到控制台会解释执行控制字符(或不可见字符),并不是字符串本身。echo到文件可能可以保留原字符串。
第7楼 katamoto 发表于 2008-08-02 14:23
新手上路 发帖 4 积分 10
直接
echo %ip%
就可以了。
第8楼 spy616 发表于 2009-03-03 11:55
新手上路 发帖 7 积分 10
又学一招
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023