[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 如何实现批处理拨不同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都不要是同一个但是大段相同,怎么用批处理实现,麻烦指点。

第一次拨号成功后把IP写入一个txt文件,下次拨号后跟txt文件的内容比较一下,如果是重复的,那就断开重拨。

TOP

麻烦楼上的详细指点

TOP

麻烦楼上的详细指点

TOP

两个文件内容比较怎么比较,用什么指令,麻烦能完整的指点一下,谢谢。

TOP

  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. )
复制代码
不知道能不能行,试试吧。

TOP

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

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

TOP

顶,自己顶一个

TOP

顶,自己顶一个

TOP

回复 6# apang


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

TOP

回复 10# wh1234567


希望能在顶楼发帖的时候就说清楚需求

TOP

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

TOP

返回列表