用BAT文件編寫一個不用重啓,隔5分鐘就換一個IP的程序

具體如下: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就可以了。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章