我一直在尝试拼凑一个快速而肮脏的脚本来返回一堆 IP 地址的地理位置。
我正在使用 freegeoip.net 并且找不到与 cmd 行等效的快速 wget ,因此为此使用 powershell 脚本,从我的批处理文件中调用它(或者至少,尝试,我认为这就是我失败的地方)。
命令行是:
for /F "tokens=* usebackq delims=" %a in ("E:\DATA\02.ips.txt") do (
set /a N+=1
powershell -command "E:\DATA\Resources\geolocation.ps1 %a"
)
(第一行需要跳过,因为包含标题,而不是 IP)
geolocation.ps1 是:
wget freegeoip.net/csv/$args[0] -OutFile "E:\DATA\IPs\$args[0].txt"
我希望这会给我一个包含每个 IP 返回的 CSV 的文件夹,然后我可以用副本 E:\DATA\IPs*.txt alltheips.txt 将其整理到一个文件中,然后将该文件加载到另一个文件中应用程序使用。
这个(显然)哈希是从我在谷歌上搜索并在这里和那里收集的内容混合在一起的,但是,(显然)我实际上并不知道我在这里做什么,所以任何对缺失部分的帮助将不胜感激!
简而言之,我所追求的是获取我的 IP 地址列表(我有一个带有标题的文本文件,然后每一行都是一个新 IP,文件的长度为 x 并且每次运行都会有所不同 - 偶尔它将是空的,所以如果我可以检查文件的长度并且它只包含标题以跳过该过程,那将很方便)。对照 freegeoip.net 检查这些 IP,并将它们提供的数据整理到一个文件中,以便在一个程序中使用,该程序将用户的位置与我通过 IP 持有的关于他们的其他数据相关联。
干杯!
将整个脚本放入脚本中。在这种情况下,无需将 PowerShell 包装在批处理文件中。实际上,这样做会损失很多,因为 PowerShell 是面向对象的。
这是我编写的一个批处理文件,它使用 ipinfo.io 的 API 进行 IP 查找。https://pastebin.com/Ucs2Kuqn 享受吧!