1

I have Windows 7 machines that get imaged, and after imaging I have to set the environment variable STATION to the last octet of the machine's IP address. How would I parse the IP address and grab the last octet to set the STATION variable?

This only sets the variable to the full ip address:

@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%"

1 Answers1

0

do it with another for:

for /f "Tokens=4 delims=." %%a in (%localip%) do set lastOctett=%%a

May I suggest:

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

(I used a different method to get the IP, because yours depends on local settings - for example on my computer I would have to search for Antwort instead of Reply. But the syntax is the same in all languages, so the IP is always enclosed by [ and ])

Stephan
  • 53,940
  • 10
  • 58
  • 91
  • Thank you so much! It's people like you that have helped me branch out into so many different fields of IT. Keep up the good fight! – Robert White Dec 13 '15 at 10:23