用BAT文件编写一个不用重启,隔5分钟就换一个IP的程序
2008-01-25 19:15
756 查看
具体如下: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就可以了。
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就可以了。
相关文章推荐
- 用BAT文件编写一个不用重启,隔5分钟就换一个IP的程序
- 把以下IP存入一个txt文件,编写程序把这些IP按数值大小,从小到达排序并打印出来。 61.54.231.245 61.54.231.9 61.54.231.246 61.54.231.48
- 懒人部署插件实现智能、可视化更新程序,让用户不用一个文件一个文件的拷贝,有效防止少、漏更新,同时实现自动备份覆盖的文件,便于随时还原
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 有一个数据文件:123 34 17 651234 345….这些数据都是随机产生的,编写程序读出该文件.并将其以从大到小的顺序输出到另一个文件中.
- 编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。
- 编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。
- 如何编写bat文件来执行jar程序
- 在Salesforce中通过编写C#程序调用dataloadercliq的bat文件取触发调用data loader来批量处理数据
- 编写一个程序,把您的年龄转换成天数并显示二者的值。不用考虑平年( fractional year)和闰年(leapyear)的问题
- 编写一个C程序删除一个文件的所有注释
- 编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔
- 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad
- 编写一个程序,接受用户的输入并保存为新的文件
- 编写一个程序,将联系人信息存入文件中并显示出来
- 如何编写bat文件来执行jar程序
- 汇编语言: 编写一个程序,新建一个文件:d:\abc.txt,从键盘输入文件的内容(不超过100个字 符)。然后新建一个文件:d:\def.txt,将d:\abc.txt文件的内容复制到d:\def.
- 网易2015编程题(一用Java实现一个多线程程序将这个10000个数输出到5个不用文件中)
- 一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)
- 编写一个程序,一行行的读取输入行,直至到达文件尾。算出每行输入行的长度,然后把最长的那行打印出来