Я пытаюсь разобрать, добавить ip и адрес маски подсети. Работает отлично, но добавление создает проблему для меня. здесь Я вставляю свой код. В основном я получаю IP и маску подсети, а затем выполняю некоторую маскировку, а затем добавляю.разбор и добавление адреса маски ip и подсети
позволяет предположить, у меня есть следующие,
IPADDR : 10.239.230.47
SUBNET : 255.255.254.0
Я получаю такой вывод:
-----------------------------------------------------------------
255.255.254.0
"10.239.231 .255"
Press any key to exit
-----------------------------------------------------------------------
Я не в состоянии решить, почему я получаю пространство btw.Please помочь мне.
@ECHO OFF
ECHO.
set dot=.
set "a1=0"
set "b1=0"
set "c1=0"
set "d1=0"
set "a2=0"
set "b2=0"
set "c2=0"
set "d2=0"
set "temp1=0"
set "temp2=0"
set "mask=0x01"
set "_result=0"
set "_IPADDR1=0"
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG ^| FIND "IPv4"') DO FOR %%B IN (%%A) DO SET IPADDR=%%B
FOR /f "tokens=1,2,3,4 delims=." %%a IN ("%IPADDR%") do set a1=%%a&set b1=%%b&set c1=%%c&set d1=%%d
FOR /F "TOKENS=2* DELIMS=:" %%A IN ('IPCONFIG ^| FIND "Subnet Mask"') DO FOR %%B IN (%%A) DO SET SUBNET=%%B
FOR /f "tokens=1,2,3,4 delims=." %%a IN ("%SUBNET%") do set a2=%%a&set b2=%%b&set c2=%%c&set d2=%%d
echo %SUBNET%
IF %c2% EQU 255 set temp1=1
IF %c2% EQU 0 set temp1=1
IF %temp1% EQU 1 (
set c1=255
)ELSE (
:loop1
set /a "_result=c2&mask"
IF %_result% GTR 1 (
set c1=%c1%
)ELSE (
set /a "c1=c1|mask"
)
IF %mask% EQU 128 (
goto:exit_loop1
)ELSE (
set /a "mask=mask<<1"
goto:loop1
)
)
:exit_loop1
set "mask=0x01"
set "_result=0"
IF %d2% EQU 255 set temp2=1
IF %d2% EQU 0 set temp2=1
IF %temp2% EQU 1 (
set d1=255
)ELSE (
:loop2
set /a "_result=d2&mask"
IF %_result% GTR 1 (
set d1=%d1%
)ELSE (
set /a "d1=d1|mask"
)
IF %mask% EQU 128 (
goto:exit_loop2
)ELSE (
set /a "mask=mask<<1"
goto:loop2
)
)
:exit_loop2
set _IPADDR1="%a1%%dot%%b1%%dot%%c1%%dot%%d1%"
echo.%_IPADDR1%
SET /p exit=Press any key to exit
:End
извините выход не Пастер properly.it приходит как этот .lot зазора перед тем .255 " 10.239.231 .255 " – bhaskar