Board logo

标题: 如何去掉IP字符串后的冒号 [打印本页]

作者: XinStar     时间: 2007-7-8 22:43    标题: 如何去掉IP字符串后的冒号

在批处理中想得到某网站的IP,但每次的结果是在得到的IP后多了一个:与,怎样才能消除这个:号呢,是需要在外面加代码,还是在当前代码上直接修改啊!

for /f "tokens=3 delims=" %%i in ('ping "Zjjwp.3322.Org" -n 1 ^| find /i "Reply from"') do set ip=%%i

[ Last edited by bjsh on 2007-7-31 at 09:55 AM ]
作者: wjh6088     时间: 2007-7-8 22:53
for /f "tokens=3 delims=: " %%i in ('ping "Zjjwp.3322.Org" -n 1 ^| find /i "Reply from"') do set ip=%%i
作者: XinStar     时间: 2007-7-8 23:09
2楼的,试过了,还是不行啊,再请教些句是什么意思呢?
作者: wjh6088     时间: 2007-7-8 23:22
我的测试正常
C:\Documents and Settings\Administrator>for /f "tokens=3 delims=: " %i in ('ping
"Zjjwp.3322.Org" -n 1 ^| find /i "Reply from"') do set ip=%i

C:\Documents and Settings\Administrator>set ip=222.245.153.172

C:\Documents and Settings\Administrator>echo %ip%
222.245.153.172

C:\Documents and Settings\Administrator>
作者: XinStar     时间: 2007-7-8 23:26
真的可以了呢,真的非常感谢你啊!

对了那句delims是什么意思啊
作者: qinbuer     时间: 2007-7-8 23:27
LZ可能网络太慢了,发送数据包超时(time out),再试几次呗
作者: wjh6088     时间: 2007-7-8 23:37
delims后面的是分隔符号,本例是空格和冒号,所以“delims=: ”

详细的请在cmd下for/?查看
作者: zqdarkday     时间: 2007-7-8 23:59
delims是指以什么作为分隔符
4楼的"delims=: "的意思就是以:和空格作为分隔符
那么那行字符就分隔成了Reply     from     222.245.153.172   bytes=32   time=1808ms     TTL=53
再加上tokens=3
最后就输出  222.245.153.172  
LZ可以多试试  把tokens=的数字换下   或把delims=的符号换下
就知道了