找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 11102|回复: 9

[网络连接] [已解决]bat代码,curl命令,获取外网ip。部分电脑无法获取并显示,什么原因?

[复制链接]
发表于 2025-1-14 09:56:03 | 显示全部楼层 |阅读模式
本帖最后由 ygqiang 于 2025-1-15 08:45 编辑

解决了,发现部分电脑,外网ip不是无法获取,是获取比较慢。
  1. @echo off

  2. @echo ════════════════════════════════════
  3. for /f "delims=: tokens=2" %%i in ('ipconfig^|findstr "IPv4 地址"') do echo      内网IP为:%%i
  4. for /f "delims=: tokens=2" %%m in ('ipconfig -all^|findstr "物理地址"') do echo      网卡地址:%%m
  5. @echo ════════════════════════════════════
  6. for /f "delims=: tokens=2" %%o in ('curl -s cip.cc^|findstr "IP"') do set ip=%%o&echo 外网IP为:%%o
  7. for /f "delims=: tokens=2" %%l in ('curl -s ipinfo.io^|findstr ""region""') do set ad=%%l&echo 所在地区:%%l
  8. @echo      外网IP为:%ip%       >nul 2>null
  9. @echo      所在地为:%ad%      >nul 2>null
  10. @echo ════════════════════════════════════
  11. del /q null >nul 2>nul
  12. ping 0 -n 10 >nul 2>nul
  13. del /q null >nul 2>nul

  14. exit
复制代码
发表于 2025-1-14 12:00:53 | 显示全部楼层
回复 1# ygqiang


    有的电脑可行有的却不行,无非是系统版本不同或命令程序缺失,导致命令无法执行,
查错的思路很简单,
1,先在电脑上执行一下那命令,curl -s cip.cc
2,打开cmd把批处理拖进CMD里运行,会看到基础的报错信息!
3,去掉批处理的@echo off 和 >nul ,在有可能出错的地方加上pause暂停观察

学会查错和分析,比什么都有用!
 楼主| 发表于 2025-1-14 12:08:31 | 显示全部楼层
回复  ygqiang


    有的电脑可行有的却不行,无非是系统版本不同或命令程序缺失,导致命令无法执行, ...
jiavip 发表于 2025-1-14 12:00


已经确定,不同系统下面,都有这个命令。
发表于 2025-1-14 12:23:55 | 显示全部楼层
本帖最后由 jiavip 于 2025-1-14 12:26 编辑

回复 3# ygqiang


    涉及到网络和不同电脑的命令,得出不一样的运行效果,一是查看原始命令的执行效果,有的系统版本不同,相同的命令,回显的方式会有些出入,影响读取!
二是查看是否有变量冲突,和运行权限。
三是看网络状态,,,
发表于 2025-1-14 13:51:32 | 显示全部楼层
回复 1# ygqiang


找一台“不行”的电脑
双击文件 C:\Windows\System32\cmd.exe
在打开的CMD窗口中依次执行以下命令:
curl -s cip.cc > 1.txt
回车
把生成的1.txt文件上传到网盘
 楼主| 发表于 2025-1-14 15:39:58 | 显示全部楼层
回复 5# Batcher


    命令提示符下,运行后生成的1.txt,无内容。

如果运行curl,则会提示:curl:try ’curl --help‘ for more information
发表于 2025-1-14 18:00:52 | 显示全部楼层
回复 6# ygqiang


    根据提示执行 curl --help 看看结果
发表于 2025-1-14 18:04:51 | 显示全部楼层
回复 6# ygqiang


    你那是命令没执行成功的提示!
----
那批处理的问题,,,
有一种错误是 DNS 解析不到那域名!
再有一种是批处理的空格出错 有的系统设置它支持 完整命令,有的是系统优化过了,不支持整条命令要用引号和空格区分
for /f "delims=: tokens=2" %%o in ('curl -s cip.cc^|findstr "IP"') do set ip=%%o&echo 外网IP为:%%o
改为,,,
  1. for /f "delims=: tokens=2" %%o in ('"curl -s cip.cc ^ | findstr "IP""') do set ip=%%o&echo 外网IP为:%%o
复制代码
试试,,
curl -s cip.cc ^ | findstr  "IP"
有的系统优化过了,不留空格在批处理里它就执行不了,,,
发表于 2025-1-14 18:56:24 | 显示全部楼层
  1. @echo off
  2. chcp 65001 >nul
  3. curl "cip.cc" |find /i "ip"
  4. curl "ifconfig.me" |find /v ""
  5. pause
复制代码
 楼主| 发表于 2025-1-14 20:23:45 | 显示全部楼层
本帖最后由 ygqiang 于 2025-1-14 21:48 编辑

回复 9# 77七
正常win10系统,运行代码以后,生成的1.txt与2.txt文件内容如下:
IP        : 115.161.156.220
URL        : http://www.cip.cc/115.161.156.220

2408:8215:f19:f561:50bb:5684:35b6:2853
  1.     @echo off
  2. chcp 65001 >nul
  3. curl "cip.cc" |find /i "ip" >1.txt
  4. curl "ifconfig.me" |find /v "" >2.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 11:25 , Processed in 0.020467 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表