在cmd中设置ip为变量

Set ip as variable in cmd

我正在批量制作一个程序,我想获取一个网站的ip,并将其设置为批处理文件中的一个变量。请建议一种方法来做到这一点。 请帮忙

试试这个:

for /f "tokens=3 delims=: " %%a in ('ping -n 1 www.google.com ^| find "Reply"') do (set ip=%%a)
Echo %ip%
for /f "tokens=2 delims=[]" %%a in ('ping -n 1 www.google.com') do set "ip=%%a"

这将使用 ip 地址周围的方括号作为分隔符来拆分 ping 命令中的第一行输出。分割线后,第二个标记将是 ip 地址

假设您正在使用 Windows,这可以使用简单的一行命令完成。

以下将把您当前的 public IP 地址放入环境变量 ipaddress:

for /f "skip=4 usebackq tokens=2" %a in (`nslookup www.google.com resolver1.opendns.com`) do set ipaddress=%a

如果您在批处理 (cmd) 文件中使用 for 命令,则需要将 % 替换为 %%,如下所示:

for /f "skip=4 usebackq tokens=2" %%a in (`nslookup www.google.com resolver1.opendns.com`) do set ipaddress=%%a

有关详细信息,请参阅 FOR - Conditionally perform a command several times.