等人回复的时间找资料看了下,终于搞懂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