请教,关于用批处理实现用ADSL上网使自身IP不重复的问题? 关于用批处理实现用ADSL上网使自身IP不重复的问题?
想实现这样功能的批处理,运行批处理时
将当前IP写入到记录IP地址的文本文件中,
然后断开ADSL连接,经过一段延时后重新连接ADSL,
然后对比连接好后的IP是否是以前用这的IP,即查找当前IP是否在记录IP地址的文本文件中
如果是用过的IP则重复上述操作,重新拨号
现在我的批处理如下(没能实现对比功能):
@echo off
echo 正在断开连接......
rasdial adsl /disconnect
echo 正在清理系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q C:\documents and Settings\Administrator\Cookies\*.*
del /f /q C:\documents and Settings\Administrator\Cookies\*.*
del /f /q C:\documents and Settings\Administrator\Cookies\*.*
del /f /s /q "C:\documents and Settings\Administrator\Temporary Internet Files\*.*"
del /f /s /q "R:\Temporary Internet Files\*.*"
del /f /s /q "C:\documents and Settings\Administrator\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "C:\documents and Settings\Administrator\Local Settings\Temp\*.*"
del /f /s /q "C:\documents and Settings\Administrator\recent\*.*"
echo 清理系统垃圾完成!
echo. & pause
echo 正在连接网络......
rasdial adsl adslxxxxxx password
ipconfig|findstr /c:"IP Address" >>IPList.txt
Rasdial "adsl adslxxxxxx" /DISCONNECT>nul
Rasdial "adsl adslxxxxxx" adslxxxxxx password>nul
ipconfig|findstr /c:"IP Address"
echo. & pause
向请各位高手请教!
ipconfig|findstr /c:"IP Address" >>IPList.txt输入到文本文件中后,目前内容是这样的:
IP Address. . . . . . . . . . . . : 192.168.1.111 IP Address. . . . . . . . . . . . : 219.152.91.135 IP Address. . . . . . . . . . . . : 192.168.1.111 IP Address. . . . . . . . . . . . : 219.152.88.109 IP Address. . . . . . . . . . . . : 192.168.1.111
内容是两个IP地址,因为系统中有两个连接,一个本地连接,一个ADSL连接
与运行ipconfig看到的两个连接的信息是一样的,我不知道用批处理怎样只取得adsl连接的IP,即外网IP,所以用了这种办法!
想实现这样功能的批处理,运行批处理时
将当前IP写入到记录IP地址的文本文件中,
然后断开ADSL连接,经过一段延时后重新连接ADSL,
然后对比连接好后的IP是否是以前用这的IP,即查找当前IP是否在记录IP地址的文本文件中
如果是用过的IP则重复上述操作,重新拨号
现在我的批处理如下(没能实现对比功能):
@echo off
echo 正在断开连接......
rasdial adsl /disconnect
echo 正在清理系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q C:\documents and Settings\Administrator\Cookies\*.*
del /f /q C:\documents and Settings\Administrator\Cookies\*.*
del /f /q C:\documents and Settings\Administrator\Cookies\*.*
del /f /s /q "C:\documents and Settings\Administrator\Temporary Internet Files\*.*"
del /f /s /q "R:\Temporary Internet Files\*.*"
del /f /s /q "C:\documents and Settings\Administrator\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "C:\documents and Settings\Administrator\Local Settings\Temp\*.*"
del /f /s /q "C:\documents and Settings\Administrator\recent\*.*"
echo 清理系统垃圾完成!
echo. & pause
echo 正在连接网络......
rasdial adsl adslxxxxxx password
ipconfig|findstr /c:"IP Address" >>IPList.txt
Rasdial "adsl adslxxxxxx" /DISCONNECT>nul
Rasdial "adsl adslxxxxxx" adslxxxxxx password>nul
ipconfig|findstr /c:"IP Address"
echo. & pause
向请各位高手请教!
ipconfig|findstr /c:"IP Address" >>IPList.txt输入到文本文件中后,目前内容是这样的:
IP Address. . . . . . . . . . . . : 192.168.1.111 IP Address. . . . . . . . . . . . : 219.152.91.135 IP Address. . . . . . . . . . . . : 192.168.1.111 IP Address. . . . . . . . . . . . : 219.152.88.109 IP Address. . . . . . . . . . . . : 192.168.1.111
内容是两个IP地址,因为系统中有两个连接,一个本地连接,一个ADSL连接
与运行ipconfig看到的两个连接的信息是一样的,我不知道用批处理怎样只取得adsl连接的IP,即外网IP,所以用了这种办法!
