您的位置:首页 > 其它

用BAT文件编写一个不用重启,隔5分钟就换一个IP的程序

2009-09-22 21:12 543 查看
 用BAT文件编写一个不用重启,隔5分钟就换一个IP的程序

【转自】 http://hi.baidu.com/chuanqi%5Fding/blog/item/b04c20c291023730e5dd3be6.html

 

http://hi.baidu.com/chuanqi%5Fding/blog/item/b04c20c291023730e5dd3be6.html

具体如下:IP段为192.168.1.1-192.168.1.254,掩码为255.255.255.0,网关为192.168.1.255,要求执行批处理命令后,设定IP地址为192.168.1.1,延时5分钟后,把IP设为192.168.1.2,再延时5分钟后,设为192.168.1.3......以此类推,当IP设为192.168.1.254后,再返回到192.168.1.1开始设定,批处理文件不关就一直循环下去......第一步:把如下代码存成e:/ipchange.bat
for /f "usebackq delims=: tokens=2" %%i in (`"ipconfig|find "IP Address" "`) do set ipaddr=%%i
for /f "delims=. tokens=1,2,3,4*" %%i in ("%ipaddr%") do set /a ipaddr1=%%i &&set /a ipaddr2=%%j && set /a ipaddr3=%%k && set /a ipaddr4=%%l
set /a ipaddr4=%ipaddr4%+1
if %ipaddr4%==255 (netsh interface ip set address name="本地连接" source=static addr=192.168.1.2 mask=255.255.255.0 gateway=192.168.1.1 gwmetric=1) else netsh interface ip set addres name="本地连接" source=static addr=192.168.1.%ipaddr4% mask=255.255.255.0 gateway=192.168.1.1 gwmetric=1
第二步:用计划任务调用e:/ipchange.bat,把如下代码存成.bat运行之:
@echo off
setlocal enabledelayedexpansion
set do=e:/ipchange.bat
set m=5
set s=9999
set time=%time:~0,8%
set time=%time::=%
set a=%time:~0,2%
set b=%time:~2,2%
set c=%time:~-2%
set num=0
:top
set d=!b!

if "%b:~0,1%"=="0" set b=%b:~1,1%
set /a b+=%m%
if %b% equ 60 (
set d=00
set /a a+=1
echo !a!:!d!.!c!

if not "!do!"=="n" (if !s! gtr !num! (at !a!:!d!.!c! /interactive !do!))
set /a num+=1
if !num! equ !s! pause&goto :eof
set b=!d!

goto top
)
if %b% gtr 60 (
set e=!b!
set /a b/=60
set /a a+=!b!

set /a d=!e!-60*!b!
if "!d:~1,1!"=="" set d=0!d!
echo !a!:!d!.!c!

if not "!do!"=="n" (if !s! gtr !num! (at !a!:!d!.!c! /interactive !do!))
set /a num+=1
if !num! equ !s! pause&goto :eof
set b=!d!

goto top
goto :eof
) else (
if "!b:~1,1!"=="" set b=0!b!
echo !a!:!b!.!c!

if not "!do!"=="n" (if !s! gtr !num! (at !a!:!b!.!c! /interactive !do!))
set /a num+=1
if !num! equ !s! pause&goto :eof

goto top
goto :eof
)

程序说明:
1。你的系统计划任务必须开启状态(默认就是开启的,呵呵)
2。因为懒,没有写退出的句子,若不想继续变动ip了,运行at /delete /y就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  interface 任务 c
相关文章推荐