Board logo

标题: [求助]一个循环的 [打印本页]

作者: tips1127     时间: 2007-12-29 10:35    标题: [求助]一个循环的

比如
set/p startip=开始IP:
set /p endip=结束IP:
ping  %startip% %endip% /save  

上面的IP的执行完后
怎么给它赋新值
新值有这样的要求
startip= endip  ,endip=endip+50(第2段的50,如127.0.0.1那么就变成127.50.0.1) 这里要 有IF语句判断endip的第2段是不是200 是的话就变成第一段+1 如127.200.1.1 那么新值就为128.1.1.1

可以把原先的变成set/p startip=开始IP:
                        set /p endip=结束IP:
                          ping  %startip%.1.1 %endip%.1.1 /save  
方便+法

求完整的语句:D:D

[ Last edited by tips1127 on 2007-12-29 at 12:49 PM ]
作者: tips1127     时间: 2007-12-29 16:47
up
知道的说下呀
作者: huahua0919     时间: 2007-12-29 17:47
变量延迟+set/a
作者: everest79     时间: 2007-12-29 18:27
这要根据实际执行的命令来操作的
你的是ping命令吗?
你的endip+50=startip还是endip,或是等于startip那么endip怎么取新值?
作者: tips1127     时间: 2007-12-29 20:33
这跟命令应该没什么关系
我的意思是当原先设定的IP命令结束后,
重新赋予新值 继续执行下去
新值的有这样的要求
新的startip = 原先的endip
新的endip = 新的startip(原先的endip)+50

就这样
作者: everest79     时间: 2007-12-29 23:49

@echo off
set sip=192.1.1.1
set eip=%sip:.=,%
for %%i in (%eip%) do set/a x+=1&&call set ip%%x%%=%%i
for /l %%i in (1,1,20) do call :ipset
pause&goto :eof
:ipset
set/a ip2+=50,1/(254/ip2) 2>nul||set /a ip1+=1,ip2=1,z=0
echo ping %sip% - %ip1%.%ip2%.%ip3%.%ip4% /save
set sip=%ip1%.%ip2%.%ip3%.%ip4%
goto :eof

作者: tips1127     时间: 2007-12-30 11:15
谢谢了  学习了