PDA

Показать полную графическую версию : Батник на смену Статики на ДНСР


AngelDead
11-09-2014, 10:56
Приветствую.
Помогите допилить батничек плз...

хотелось что бы при выборе 2 пункта, не
не отображались
echo IP-adress: %IP%
echo Mask: %MASK%
echo Gate: %GATEWAY%
и не запускались
netsh interface ip set address %IFACE% static %IP% %MASK% %GATEWAY%

Как сделать?

@echo off
set /p settings="MECTO (1 - Static, 2 - DHCP):"
echo MECTO - %settings%

if %settings% equ 2 goto DHCP

:Static
set IFACE="local"
set IP=192.168.98.62
set MASK=255.255.255.192
set GATEWAY=192.168.98.1
set GWMETRIC=1
set DNS1=10.186.202.1
set DNS2=10.186.202.2
goto dalee

:DHCP
set IFACE="local"
netsh interface ip set address "Local" dhcp
set DNS1=10.186.202.1
set DNS2=10.186.202.2

:dalee
echo Set:
echo IP-adress: %IP%
echo Mask: %MASK%
echo Gate: %GATEWAY%

netsh interface ip set address %IFACE% static %IP% %MASK% %GATEWAY%
echo Primary DNS server: %DNS1%
netsh interface ip set dns %IFACE% static %DNS1% primary
echo Secondary DNS server: %DNS2%
netsh interface ip add dns %IFACE% %DNS2% index=2


:dalee2
pause

Iska
11-09-2014, 11:25
Как-то так:
@echo off
setlocal enableextensions enabledelayedexpansion

set /p settings="MECTO (1 - Static, 2 - DHCP):"
echo MECTO - %settings%

if %settings% equ 1 (
set IFACE="local"
set IP=192.168.98.62
set MASK=255.255.255.192
set GATEWAY=192.168.98.1
set GWMETRIC=1
set DNS1=10.186.202.1
set DNS2=10.186.202.2

echo Set:
echo IP-adress: %IP%
echo Mask: %MASK%
echo Gate: %GATEWAY%

netsh interface ip set address %IFACE% static %IP% %MASK% %GATEWAY%
) else (
if %settings% equ 2 (
set IFACE="local"
netsh interface ip set address "Local" dhcp
set DNS1=10.186.202.1
set DNS2=10.186.202.2
)
)

echo Primary DNS server: %DNS1%
netsh interface ip set dns %IFACE% static %DNS1% primary
echo Secondary DNS server: %DNS2%
netsh interface ip add dns %IFACE% %DNS2% index=2

endlocal
exit /b 0

Вместо «set /p» лучше пользовать «choice.exe» с последующим «call :Sub%errorlevel%».

AngelDead
11-09-2014, 11:40
теперь при выборе 1, не выставляються параметры

Iska
11-09-2014, 13:15
AngelDead, виноват, замените:
netsh interface ip set address %IFACE% static %IP% %MASK% %GATEWAY%
на:
netsh interface ip set address !IFACE! static !IP! !MASK! !GATEWAY!

AngelDead
11-09-2014, 13:48
тоже, не работает

Iska
11-09-2014, 14:46
Что именно?

AngelDead
11-09-2014, 14:56
при выборе 1 не меняются настройки с dhcp на статик и не выставляются параметры

Iska
11-09-2014, 15:43
А если Вы просто выполняете:
@echo off
setlocal enableextensions enabledelayedexpansion

(
set IFACE="local"
set IP=192.168.98.62
set MASK=255.255.255.192
set GATEWAY=192.168.98.1
set GWMETRIC=1
set DNS1=10.186.202.1
set DNS2=10.186.202.2

echo Set:
echo IP-adress: %IP%
echo Mask: %MASK%
echo Gate: %GATEWAY%

netsh interface ip set address !IFACE! static !IP! !MASK! !GATEWAY!
)

endlocal
exit /b 0

— меняются?




© OSzone.net 2001-2012