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

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

本帖最后由 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
复制代码

回复 1# ygqiang


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

学会查错和分析,比什么都有用!

TOP

回复  ygqiang


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


已经确定,不同系统下面,都有这个命令。

TOP

本帖最后由 jiavip 于 2025-1-14 12:26 编辑

回复 3# ygqiang


    涉及到网络和不同电脑的命令,得出不一样的运行效果,一是查看原始命令的执行效果,有的系统版本不同,相同的命令,回显的方式会有些出入,影响读取!
二是查看是否有变量冲突,和运行权限。
三是看网络状态,,,

TOP

回复 1# ygqiang


找一台“不行”的电脑
双击文件 C:\Windows\System32\cmd.exe
在打开的CMD窗口中依次执行以下命令:
curl -s cip.cc > 1.txt
回车
把生成的1.txt文件上传到网盘
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher


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

如果运行curl,则会提示:curl:try ’curl --help‘ for more information

TOP

回复 6# ygqiang


    根据提示执行 curl --help 看看结果
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 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"
有的系统优化过了,不留空格在批处理里它就执行不了,,,

TOP

  1. @echo off
  2. chcp 65001 >nul
  3. curl "cip.cc" |find /i "ip"
  4. curl "ifconfig.me" |find /v ""
  5. pause
复制代码
bat小白,请多指教!谢谢!

TOP

本帖最后由 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
复制代码

TOP

返回列表