我想创建一个批处理或 vbs 文件,它将一个 url 放在一起并执行。该 url 的一部分需要是机器的实际 IP 地址。我如何能够在变量中获取该 IP 地址以将其包含在脚本中?
编辑1:
我发现下面的命令会给我 IP 地址,但仍然不知道如何将该值放入变量中以在脚本中使用它。
c:\> wmic NICCONFIG WHERE IPEnabled=true GET IPAddress /format:csv
Node,IPAddress
IP-0AFB,{10.25.5.2}
我想创建一个批处理或 vbs 文件,它将一个 url 放在一起并执行。该 url 的一部分需要是机器的实际 IP 地址。我如何能够在变量中获取该 IP 地址以将其包含在脚本中?
编辑1:
我发现下面的命令会给我 IP 地址,但仍然不知道如何将该值放入变量中以在脚本中使用它。
c:\> wmic NICCONFIG WHERE IPEnabled=true GET IPAddress /format:csv
Node,IPAddress
IP-0AFB,{10.25.5.2}
这是我在以前的脚本中使用的一些示例代码...
如果要将 IP 地址返回到变量中,可以执行以下操作:
此代码直接取自 Microsoft 的 TechNet Scriptcenter 的 Scriptomatic v2.0。在这里找到:http ://technet.microsoft.com/en-us/scriptcenter/dd939957.aspx
这是一种将 WMIC 结果提取到 cmd 脚本中的变量的方法:
请注意,由于可能有多个 NIC,我们必须遍历 WMIC 的输出,这是通过为 WMIC 输出的每一行调用 :SETVAR 来完成的(不过,跳过第一行,并测试任何空白的尾随行。创建一个变量对于找到的每个启用的 NIC - 变量将是 %NIC1%、%NIC2% 等。
以"echo NIC"开头的第 12 行,在您满意后可以删除。
你知道,为了让这非常有用,我添加了
/node:%1
(以获取远程计算机的 IP)与 ping 或 nslookup 相比,为系统管理员和网络管理员节省了一些跑腿工作。我确定我要添加的另一件事是“错误检查”,这样,如果系统碰巧不可用,脚本可以“记录该信息”——比如System %1 not available
——然后继续获取下一个的 ip系统。通常,我会制作一个“bat”来“调用 bat”所以,我只需创建一个批处理文件,可能类似于下面的“getall.bat”:
然后像这样运行它:
getall > getall-log.txt 2>&1
(上面会将所有信息输出到一个文本文件,包括遇到的任何错误)
getall.bat
getnic.bat
转换为 IPv6
我知道您要求提供 VBS 或 Batch 样式的脚本,但我想如果您想尝试该路线或其他任何查看此问题的人,我也会添加一个 PowerShell 片段...
这将返回当前分配给机器的所有 IP 地址。