批处理验证外网ip地区 执行不同代码的问题
工作原因 有人老是偷偷的发给外地的人用
所以想弄个批处理 验证地区
批处理获取外网ip 归属地 网址ping0.cc
取红色方框里的地址即“中国 山东省威海市联通” 保存到C:\IPPTB.txt 里
然后判断 IPPTB.txt里的内容 是否有“威海”两个字
有 goto a 否则goto b
批处理能实现么 代码最好是能用Bat_To_Exe_Converter 编译成exe
已解决
@echo off
setlocal
:: 获取外网IP并将其保存到IPPTB.txt中
powershell -Command "(new-object system.net.networkinformation.ipconfigtable).connection.remoteadress | select-string -pattern '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}' | % {[system.net.dns]::gethostbyaddr($_).hostname}" > C:\IPPTB.txt
:: 读取IPPTB.txt文件内容,并根据是否存在“威海”字符串进行判断,并执行不同代码
for /f %%i in (C:\IPPTB.txt) do if %%i==威海 (
goto a
) else (
goto b
)
:a
echo 在威海
ping 192.168.0.1 > nul
goto end
:b
echo 不是威海
ping 127.0.0.1 > nul
goto end
:end
pause