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

[网络连接] 批处理如何获取自己电脑的外网ip?

我有个想法,就是用浏览器访问 www.ip138.com,在得到的页面里就可以截取到ip了,但是不知道如何用批处理实现。
时光荏苒||新陈代谢&&涛声依旧||本性难移

TOP

本帖最后由 pcl_test 于 2017-6-15 19:42 编辑
  1. @echo off
  2. more /e +12 %0 >"%temp%\down.vbs"
  3. wscript //b "%temp%\down.vbs" "http://1212.ip138.com/ic.asp" "%temp%\ip.txt"
  4. if not errorlevel 99 echo vbs错误 & goto end
  5. FOR /F "usebackq tokens=2 delims=[]" %%i in ("%temp%\ip.txt") do (if "%%i"=="" (set "ip=ip138.com源码已变更。") else (set ip=%%i))
  6. for /f "usebackq tokens=2 delims=]" %%a in ("%temp%\ip.txt") do (for /f "delims=<" %%b in ("%%a") do set "ad=%%b")
  7. echo.%ad% %ip%
  8. del /q "%temp%\ip.txt"
  9. :end
  10. del /q "%temp%\down.vbs"
  11. pause&exit
  12. With CreateObject("msxml2.Serverxmlhttp")
  13.     .open "get",WScript.Arguments.Item(0),False
  14.     .send
  15.     temp = .responseBody
  16. End With
  17. With CreateObject("adodb.stream")
  18.     .Type = 1:.Mode = 3
  19.     .Open()
  20.     .Write(temp)
  21.     .SaveToFile WScript.Arguments.Item(1),2
  22.     .Close
  23. End With
  24. Wscript.Quit (99)
复制代码

TOP

仅获取外网ip的话 一样用
  1. @echo off
  2. <"%~f0" more +3 >Getip.vbs
  3. for /f "tokens=2" %%i in ('cscript //nologo Getip.vbs') do echo 外网%%i&del Getip.vbs&pause&exit
  4. Set oDOM=WScript.GetObject("http://www.ip.cn/getip.php?action=getip&ip_url=")
  5. Do Until oDOM.readyState="complete"
  6. WScript.sleep 100
  7. Loop
  8. WScript.echo oDOM.documentElement.outerText
复制代码

TOP

脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

非局域网可以直接用 ipconfig,不然可以这样:
  1. @echo off
  2. down http://iframe.ip138.com/ic.asp ip.txt >nul
  3. for /f "tokens=2delims=[]" %%a in (ip.txt) do set ip=%%a
  4. echo 外网ip=%ip%
  5. pause
复制代码
第三方 down.exe 可以改用 curl 或 wget 或 vbs 脚本什么的

TOP

@echo off
curl -o searchip.asp "http://ip.qq.com/">nul 2>nul
for /f "tokens=3 delims=>" %%i in ('type searchip.asp^|find "您当前的IP为"') do set xiao=%%i
echo 您当前的外网IP为:%xiao:~0,-6%
pause

需附带CURL命令行 http://pan.baidu.com/share/link?shareid=2792761129&uk=2164395479

TOP

返回列表