Windows 7 批处理 - 获取 IPv4 地址的最后八位字节并设置环境变量
Windows 7 batch - get last octet of IPv4 address and set environment variable
我有 Windows 7 台机器进行了镜像,镜像后我必须将环境变量 STATION 设置为机器 IP 地址的最后一个八位字节。我将如何解析 IP 地址并获取最后一个八位字节来设置 STATION 变量?
这只会将变量设置为完整的 ip 地址:
@echo off
for /f "tokens=1 delims=:" %%j in ('ping %computername% -4 -n 1 ^| findstr Reply') do (set localip=%%j)
SETX /m STATION "%localip:~11%"
和另一个一起做 for
:
for /f "Tokens=4 delims=." %%a in (%localip%) do set lastOctett=%%a
我可以建议:
for /f "tokens=2 delims=[]" %%a in ('ping %computername% -4 -n 1') do for /f "tokens=4 delims=." %%b in ("%%a") do SETX /m STATION %%b
(我使用不同的方法获取 IP,因为您的 IP 取决于本地设置 - 例如在我的计算机上我必须搜索 Antwort
而不是 Reply
。但是语法所有语言都一样,所以IP总是被[
和]
)
括起来
我有 Windows 7 台机器进行了镜像,镜像后我必须将环境变量 STATION 设置为机器 IP 地址的最后一个八位字节。我将如何解析 IP 地址并获取最后一个八位字节来设置 STATION 变量?
这只会将变量设置为完整的 ip 地址:
@echo off
for /f "tokens=1 delims=:" %%j in ('ping %computername% -4 -n 1 ^| findstr Reply') do (set localip=%%j)
SETX /m STATION "%localip:~11%"
和另一个一起做 for
:
for /f "Tokens=4 delims=." %%a in (%localip%) do set lastOctett=%%a
我可以建议:
for /f "tokens=2 delims=[]" %%a in ('ping %computername% -4 -n 1') do for /f "tokens=4 delims=." %%b in ("%%a") do SETX /m STATION %%b
(我使用不同的方法获取 IP,因为您的 IP 取决于本地设置 - 例如在我的计算机上我必须搜索 Antwort
而不是 Reply
。但是语法所有语言都一样,所以IP总是被[
和]
)