Board logo

标题: [网络连接] 批处理如何间隔一定时间更换一次IP? [打印本页]

作者: Ansen.org    时间: 2012-12-12 15:30     标题: 批处理如何间隔一定时间更换一次IP?

需要间隔一定时间更换一次IP
我已经做出 当IP在一个网段时,如何更换IP,但是现在的情况是IP不在一个网段,还得更换相应的网关
  1. :a
  2. @echo off
  3. cls
  4. color 3f
  5. @echo off
  6. set /a b=%random%%%5+1
  7. set  MASK=255.255.255.0
  8. set  GATEWAY=192.168.1.1
  9. set  INTERFACE=本地连接
  10. set /a  i+=1
  11. set /a b=b-1
  12. for /f "delims=" %%d in ('more +%b% iplist.txt') do ( set "var=%%d"
  13. goto endfor)
  14. :endfor
  15. echo        ===============这是第%i%次更改==============
  16. echo.
  17. echo            正在将ip地址更改为%var%,请稍等。。。
  18. netsh interface ip set address name="%INTERFACE%" source=static addr=%
  19. var% mask=%MASK%
  20. netsh interface ip set address "%INTERFACE%" gateway=%GATEWAY%
  21. gwmetric=1
  22. echo      ip地址设置完成
  23. echo.
  24. echo            ==============15S后再次更改==============
  25. @echo off
  26. ping /n 3 127.0.0.1 > nul
  27. goto a
复制代码
对应的iplist.txt
  1. 192.168.1.2
  2. 192.168.1.3
  3. 192.168.1.5
复制代码
假如iplist.txt为下面的内容(一个IP对应一个网关),上面有代码要怎么改 才能保证能够上网
  1. 192.168.1.5 192.168.1.1
  2. 192.168.2.5 192.168.2.1
复制代码
PS:我是小白,上面的代码都还是东拉西凑来的
作者: Ansen.org    时间: 2012-12-13 11:40

额 没有人么?
作者: BAT-VBS    时间: 2012-12-13 23:24

  1. @echo off
  2. :loop
  3. set /a b=%random%%%5+1
  4. set  MASK=255.255.255.0
  5. set  INTERFACE=本地连接
  6. set /a i+=1
  7. set /a b-=1
  8. for /f "tokens=1-2" %%d in ('more +%b% iplist.txt') do (
  9.     set "ip=%%d"
  10.     set "GATEWAY=%%e"
  11.     goto :endfor
  12. )
  13. :endfor
  14. echo        ===============这是第%i%次更改==============
  15. echo.
  16. echo            正在将ip地址更改为%ip%,请稍等。。。
  17. netsh interface ip set address name="%INTERFACE%" source=static addr=%ip% mask=%MASK%
  18. netsh interface ip set address "%INTERFACE%" gateway=%GATEWAY% gwmetric=1
  19. echo      ip地址设置完成
  20. echo.
  21. echo            ==============15S后再次更改==============
  22. ping /n 3 127.0.0.1 > nul
  23. goto :loop
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2