我想知道是否可以创建一个列表,其中我有 x 个 IP,并且每个 IP 都与一个名称相关联。 示例:服务器 1 = 10.40.90.1,服务器 2 = 10.20.10.1 等。 这样,当我执行该文件时,它会要求我输入服务器名称,我只需使用服务器名称而不是 IP 对其进行 ping 操作,然后仅输出名称和丢失数据包的百分比。 感谢您的帮助。 中号
我知道如何创建一个列表并批量使用它,但不知道如何将 ip 变成变量
批处理文件对于此类事情来说功能不足,因此技术通常很奇怪。但是,您可以在
set
之后使用 setlocal
来设置服务器 IP 地址的本地变量。然后,您可以使用 call set
和三重 %%%
语法将地址分配给与提供的服务器名称关联的 IP 地址,以将提供的服务器名称替换为其引用的变量值。
@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