标题: [已解决]如何把IP自动转换成对应IP段?
[打印本页]
作者: kele9988
时间: 2008-11-1 23:44
标题: [已解决]如何把IP自动转换成对应IP段?
@echo off
for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
echo 你的外网IP为:%ip%
pause
上面这段代码是自动获取本机外网IP并显示,请问大虾,如何在获取本机IP后,自动转换成相应的IP段,并写入文本。比如:
本机IP为 218.21.21.21,如何自动转换成218.21.0.0 218.21.255.255IP段格式。
[
Last edited by kele9988 on 2008-11-2 at 05:23 ]
作者: kele9988
时间: 2008-11-2 00:43
@echo off
for /f "tokens=15" %%A in ('ipconfig ^| find /i "ip address"') do set IP=%%A
set IP=%IP:~0,-9%
@echo %ip%.0.0 %ip%.255.255>ip.txt
exit
刚看了资料凑了这段代码,可以完成将本机IP转换成IP段,但只有满足IP最后2段都是3位的情况才能用,比如IP必须是*.*.111.222,如果是*.*.11.22或者*.*.11.222就不行,要把set IP=%IP:~0,-9% 中的9改成7或者8.
作者: kele9988
时间: 2008-11-2 05:40
等人回复的时间找资料看了下,终于搞懂for语句的用法,凑出代码了
@echo off
for /f "tokens=15" %%A in ('ipconfig ^| find /i "ip address"') do set IP=%%A
@echo %ip%>ip.txt
for /f "tokens=1,2 delims=." %%i in (ip.txt) do echo %%i.%%j.0.0 %%i.%%j.255.255>ip.txt
exit
上面这个获取本机IP的方法,如果是拨号上网,获取的一般就是外网IP,如果没联网获取的就是网卡绑定的内网IP,要确保获取外网IP,那就用下面这段代码,从别处看来的。
@echo off
echo On Error Resume next >checkip.vbs
echo Set oDOM=WScript.GetObject("http://www.ip138.com/ip2city.asp") >>checkip.vbs
echo Do Until oDOM.readyState="complete" >>checkip.vbs
echo WScript.sleep 100 >>checkip.vbs
echo Loop >>checkip.vbs
echo str = Split(oDOM.documentElement.outerText,"[") >>checkip.vbs
echo Set oDOM=nothing >>checkip.vbs
echo ip = Split(str(1),"]") >>checkip.vbs
echo Set FSO = CreateObject("Scripting.FileSystemObject") >>checkip.vbs
echo Set SCF = FSO.OpenTextFile(FSO.BuildPath(FSO.GetSpecialFolder(0),"ip.txt"),2,True) >>checkip.vbs
echo SCF.Write(ip(0)) >>checkip.vbs
echo SCF.Close >>checkip.vbs
echo fso.DeleteFile(WScript.ScriptName) >>checkip.vbs
checkip.vbs
set/p n=<%windir%\ip.txt&cls
@echo %n%>ip.txt
for /f "tokens=1,2 delims=." %%i in (ip.txt) do echo %%i.%%j.0.0 %%i.%%j.255.255>ip.txt
exit
作者: HAT
时间: 2008-11-2 10:06
标题: Re 3楼
简化一下你的代码
@echo off
for /f "tokens=15" %%A in ('ipconfig^|find /i "ip address"') do set IP=%%A
for /f "tokens=1,2 delims=." %%i in ("%IP%") do echo %%i.%%j.0.0 %%i.%%j.255.255>ip.txt
作者: kele9988
时间: 2008-11-3 23:07
谢谢斑竹,受教了~