楼 主
【求助】获取Ip地址串后无法字符串处理,求教
发表于 2008-08-01 16:58 · 中国 上海 电信
新手上路
★
积分 11 发帖 4 注册 2008-07-31 15:32 18年会员 UID 122492 性别 男
状态 离线
@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 楼
发表于 2008-08-01 17:06 · 中国 北京 海淀区 联通
银牌会员
★★★
积分 2,098 发帖 566 注册 2007-09-11 07:27 18年会员 UID 97070 性别 男
状态 离线
第 3 楼
发表于 2008-08-01 17:21 · 中国 北京 联通
社区乞丐
★
积分 -61 发帖 37 注册 2008-04-19 17:10 18年会员 UID 116329 性别 男
状态 离线
@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%}
第 4 楼
发表于 2008-08-02 13:33 · 中国 上海 浦东新区 电信
新手上路
★
积分 11 发帖 4 注册 2008-07-31 15:32 18年会员 UID 122492 性别 男
状态 离线
谢谢楼上的解答,为什么用了变量延迟后反而得不到正确结果呢,能否给我再指点迷津下,谢谢啦!
第 5 楼
发表于 2008-08-02 14:13 · 中国 浙江 杭州 电信
初级用户
★★
积分 192 发帖 72 注册 2005-07-31 21:10 21年会员 UID 41234
状态 离线
楼主可以先改成 echo {!Ip!}>>output.txt,
用记事本打开后可以看到有一个黑方块吧,不可见字符。
用UltraEdit打开后看到这个黑方块是个回车0D,它会把光标移到行首,并输出其后的内容。
%%忽略了不可见字符,事实上,%%没有完全显示环境变量的能力,比如环境变量包含了一个换行,%%也只能显示第一行的内容。
第 6 楼
发表于 2008-08-02 14:15 · 中国 浙江 杭州 电信
初级用户
★★
积分 192 发帖 72 注册 2005-07-31 21:10 21年会员 UID 41234
状态 离线
另外一点就是,echo到控制台会解释执行控制字符(或不可见字符),并不是字符串本身。echo到文件可能可以保留原字符串。
第 7 楼
发表于 2008-08-02 14:23 · 中国 安徽 马鞍山 电信
新手上路
★
积分 10 发帖 4 注册 2007-12-10 16:18 18年会员 UID 105240 性别 男
状态 离线
第 8 楼
发表于 2009-03-03 11:55 · 中国 吉林 长春 电信
新手上路
★
积分 10 发帖 7 注册 2009-03-01 06:46 17年会员 UID 140264 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正