将 String 变量批量链接到 IP 中

Linking an String variable into an IP in batch

提问人:Myk 提问时间:8/1/2023 最后编辑:CompoMyk 更新时间:8/1/2023 访问量:33

问:

我想知道我是否可以创建一个列表,其中我有许多 IP,每个 IP 都与一个名称相关联。例如,server1 = 10.40.90.1,server2 = 10.20.10.1,等等。

这样,当我执行文件时,它会要求我输入服务器名称,用于 ing,而不是 IP。然后仅输出名称和丢失数据包的百分比。ping

我知道如何在批处理文件中创建列表并使用它,但我不确定如何将 IP 转换为变量。

列出 变量 batch-file ping

评论

2赞 Tim Roberts 8/1/2023
这在 Python 或 Perl 等脚本语言中是微不足道的。这些系统不在您的 DNS 中吗? 非常乐意使用主机名而不是 IP。ping

答:

0赞 Wyck 8/1/2023 #1

批处理文件对于这种事情来说有点能力不足,所以技术通常很奇怪。但是,您可以使用 after 为服务器的 IP 地址设置局部变量。然后,您可以使用三重语法将地址分配给与提供的服务器名称关联的 IP 地址,以将提供的服务器名称替换为它所引用的变量的值。setsetlocalcall set%%%

@echo off
setlocal
set "server1=10.40.90.1"
set "server2=10.20.10.1"

set /p "server_name=Enter the server name: "
call set "ip_address=%%%server_name%%%"
echo %ip_address%

REM TODO: ping %ip_address% and parse output

endlocal