CMD:将IP分配给变量以获取位置

CMD: assigning IP to variable to get location

我想在双击 .cmd 或 .bat 文件时在 Window 的命令提示符中获取我的外部 IP 地址的 位置

据我所知,这至少需要在 CMD 中执行两个步骤:

第 1 步:获取我的外部 IP:

curl ip-adresim.app

输出:

216.58.194.46

第 2 步:获取该 IP 的位置:

curl ipinfo.io/216.58.194.46

输出:

{ "ip": "216.58.194.46", "hostname": "dfw25s12-in-f46.1e100.net", "city": "San Francisco", "region": "California", "country": "US", "loc": "37.7749,-122.4194", "org": "AS15169 Google LLC", "postal": "94102", "timezone": "America/Los_Angeles", "readme": "https://ipinfo.io/missingauth" }

我必须通过一个公共变量连接这两个步骤才能使其成为一个自动化脚本,对吧。

但是如何呢?

我已经使用了 ipinfo。io/city 如果您想一步捕获此信息:

for /f "tokens=*" %%g in ('%__APPDIR__%curl.exe -s ipinfo.io/city') do set "_myLocation=%%g"
if defined _myLocation echo %_myLocation%

这是假设您只是在寻找这座城市。我不确定你所说的“输入文本”是什么意思,但如果你想要 IP、城市和国家,你可以执行以下操作:

for /f "tokens=*" %%g in ('%__APPDIR__%curl.exe -s ipinfo.io/ip') do set "_myIP=%%g"
for /f "tokens=*" %%g in ('%__APPDIR__%curl.exe -s ipinfo.io/city') do set "_myCity=%%g"
for /f "tokens=*" %%g in ('%__APPDIR__%curl.exe -s ipinfo.io/country') do set "_myCountry=%%g"
if defined _myIP echo External IP: %_myIP%
if defined _myCity echo City: %_myCity%
if defined _myCountry echo Country: %_myCountry%