Board logo

标题: [系统相关] 如何实现批处理拨不同ip [打印本页]

作者: zk837528    时间: 2012-3-1 22:43     标题: 如何实现批处理拨不同ip

@echo off
:newip
cls
Rasdial /Disconnect
Rasdial 宽带连接 xxxxx 123456
ipconfig /all >ip.txt
rem
find "IP Address. . . . . . . . . . . . : 123." ip.txt && goto ipok
goto newip

:ipok
cls
del ip.txt
ipconfig /all

我这个批处理做的是这样的,但是我现在有个想法就是想让每次拨号的ip都不相同,每两次拨号的ip都不要是同一个但是大段相同,怎么用批处理实现,麻烦指点。
作者: find    时间: 2012-3-1 22:57

第一次拨号成功后把IP写入一个txt文件,下次拨号后跟txt文件的内容比较一下,如果是重复的,那就断开重拨。
作者: zk837528    时间: 2012-3-2 10:52

麻烦楼上的详细指点
作者: zk837528    时间: 2012-3-2 10:52

麻烦楼上的详细指点
作者: zk837528    时间: 2012-3-2 13:46

两个文件内容比较怎么比较,用什么指令,麻烦能完整的指点一下,谢谢。
作者: apang    时间: 2012-3-2 15:53

  1. @echo off&setlocal enabledelayedexpansion
  2. pushd %~dp0
  3. :start
  4. cls
  5. Rasdial /Disconnect
  6. Rasdial 宽带连接 xxxxx 123456
  7. for /f "tokens=1,2 delims=:" %%a in ('ipconfig /all ^|findstr /i /c:"IP Address"') do (
  8.     if not exist ip.txt echo %%b>ip.txt&goto :eof
  9.     for /f "tokens=1* delims=." %%c in (ip.txt) do set aa=%%c&set bb=%%d
  10.     for /f "tokens=1* delims=." %%i in ("%%b") do (
  11.         if "%%i"=="!aa!" (if "%%j"=="!bb!" (goto start
  12.            ) else (echo %%b>ip.txt&goto :eof)
  13.         ) else (goto start)
  14.     )
  15. )
复制代码
不知道能不能行,试试吧。
作者: zk837528    时间: 2012-3-2 17:52

本帖最后由 zk837528 于 2012-3-2 18:14 编辑

这个代码好像并没有固定到a段相同,我还有一个要求就是a段相同,判断的就是b.c.d段的不同。
并且生成的ip.txt内容为内网的ip,并不是公网adsl的ip,随便测试了几次拨号还是有ip会相同。
作者: zk837528    时间: 2012-3-3 11:04

顶,自己顶一个
作者: zk837528    时间: 2012-3-3 11:05

顶,自己顶一个
作者: wh1234567    时间: 2012-3-3 11:36

回复 6# apang


    这个代码好像并没有固定到a段相同,我还有一个要求就是a段相同,判断的就是b.c.d段的不同。
并且生成的ip.txt内容为公网adsl的ip
不知道能不能实现?
作者: find    时间: 2012-3-3 12:40

回复 10# wh1234567


希望能在顶楼发帖的时候就说清楚需求
作者: zk837528    时间: 2012-3-4 02:32

大哥们,小弟也不容易,求个正解,麻烦了,兄弟跪谢了。




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