How to split an ip address into seperate octets and perform arithmetic in cmd

五迷三道 提交于 2019-12-06 21:02:36

Try this to split up the octets into variables.

@echo off
set "ip=10.0.0.25"
SET "offsets=0.100.0.-24"

@echo off
for /f "tokens=1-4 delims=. " %%a in ("%ip%") do (
set octetA=%%a
set octetB=%%b
set octetC=%%c
set octetD=%%d
)
FOR /f "tokens=1-4 delims=." %%a in ("%offsets%") do (
SET /a octetA+=%%a
SET /a octetB+=%%b
SET /a octetC+=%%c
SET /a octetD+=%%d
)
echo "%octetA%","%octetB%","%octetC%","%octetD%"
pause

This is the same solution of foxidrive, but squashed a little... :)

@echo off
set "ip= 10.0.0.25"
SET "offsets=0.100.0.-24"

for /F "tokens=1-4 delims=. " %%a in ("%ip%") do (
   for /F "tokens=1-4 delims=." %%i in ("%offsets%") do (
      set /A octetA=%%a+%%i, octetB=%%b+%%j, octetC=%%c+%%k, octetD=%%d+%%l
   )
)
echo "%octetA%","%octetB%","%octetC%","%octetD%"
pause

Are you aware of autohotkey?

Also, you could try a powershell script.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!