Batch file Windows 7批处理-获取IPv4地址的最后八位字节并设置环境变量

Batch file Windows 7批处理-获取IPv4地址的最后八位字节并设置环境变量,batch-file,ipv4,setx,Batch File,Ipv4,Setx,我有Windows7机器可以成像,成像后我必须将环境变量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%" 对

我有Windows7机器可以成像,成像后我必须将环境变量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 /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始终包含在
[
]
中)

用另一个
来做

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始终由
[
]
包围)

非常感谢!正是像你这样的人帮助我扩展到了It的许多不同领域。继续努力!非常感谢你!正是像你这样的人帮助我扩展到了It的许多不同领域。继续努力!